import { MockMethod, Recordable } from 'vite-plugin-mock' import { resultPageSuccess, resultSuccess } from './_util' import * as Mock from 'mockjs' export default [ { url: '/api/v1/depts', method: 'get', response: (opt: { url: Recordable; query: Recordable }) => { return resultPageSuccess({ page: opt.query['page'], limit: opt.query['limit'], total: 8, data: [ { Id: 1, name: '中芯数科', nameEn: '', parentId: 0, order: 100000000, createdAt: 1680884140, updatedAt: 1680884140 }, { Id: 2, name: '研发', nameEn: '', parentId: 1, order: 100000000, createdAt: 1680884140, updatedAt: 1680884140 }, { Id: 3, name: '测试', nameEn: '', parentId: 2, order: 100000000, createdAt: 1680884140, updatedAt: 1680884140 }, { Id: 4, name: '后端', nameEn: '', parentId: 2, order: 99999000, createdAt: 1680884141, updatedAt: 1680884141 }, { Id: 5, name: '前端', nameEn: '', parentId: 2, order: 99998000, createdAt: 1680884141, updatedAt: 1680884141 }, { Id: 6, name: '找下刚刚', nameEn: '', parentId: 2, order: 99997000, createdAt: 1680884141, updatedAt: 1680884141 }, { Id: 9, name: '采购', nameEn: '', parentId: 1, order: 99998000, createdAt: 1680884141, updatedAt: 1680884141 }, { Id: 10, name: '胡', nameEn: '', parentId: 9, order: 100000000, createdAt: 1680884141, updatedAt: 1680884141 } ] }) } }, { url: '/api/v1/depts/tree', method: 'get', response: () => { return resultSuccess([ { id: 1, name: '默认', nameEn: 'Default', children: [ { id: 2, name: '研发', nameEn: '', children: [ { id: 3, name: '测试', nameEn: '' }, { id: 4, name: '后端', nameEn: '' }, { id: 5, name: '前端', nameEn: '' }, { id: 6, name: '找下刚刚', nameEn: '' } ] }, { id: 9, name: '采购', nameEn: '', children: [ { id: 10, name: '胡', nameEn: '' } ] } ] } ]) } }, { url: /\/api\/v1\/depts\/\d+\/users/, method: 'get', response: (opt: { url: Recordable; query: Recordable }) => { const limit = Number(opt.query['limit']) const deptId = opt.url.split('/')[4] const list = [] for (let i = 0; i < limit; i++) { const record = Mock.mock({ 'id|+1': 1000001, 'userId|+1': '@/name', 'name|+1': '@/cname', mobile: /1[0-9]{10}/, 'gender|1-2': 0, avatar: "@image('100x100', '@/color', '#FFF', 'png', '')", position: '操作员', bizMail: '@/email', mainDepartment: deptId, roles: [ { id: 2, name: '操作工' } ], departments: [ { id: 1, name: '研发' }, { id: deptId, name: '测试' } ], lastLoginAt: 1682172226, lastLoginIp: '[::1]:6536', disabledAt: 0, 'updatedAt|1684332167-1684432167': 1684432167, 'createdAt|1684332167-1684432167': 1684432167 }) list.push(record) } return resultPageSuccess({ page: Number(opt.query['page']), limit: Number(opt.query['limit']), total: 22, data: list }) } }, { url: /\/api\/v1\/depts\/\d+/, method: 'delete', response: () => { return resultSuccess(null) } }, { url: '/api/v1/depts', method: 'post', response: () => { return resultSuccess(null) } }, { url: '/api/v1/depts', method: 'put', response: () => { return resultSuccess(null) } } ] as MockMethod[]