import { MockMethod, Recordable } from 'vite-plugin-mock' import { resultPageSuccess, resultSuccess } from './_util' import * as Mock from 'mockjs' export default [ { url: '/api/v1/roles', method: 'get', response: () => { return resultSuccess([ { id: 1, name: '超级管理员', description: '超级管理员', createdAt: 1682329920, updatedAt: 1682329920 }, { id: 2, name: '操作工', description: '', createdAt: 1682329920, updatedAt: 1682329920 } ]) } }, { url: /\/api\/v1\/roles\/(.*)\/users/, method: 'get', response: (opt: { url: Recordable; query: Recordable }) => { const limit = Number(opt.query['limit']) 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: 2, roles: [ { id: 1, name: '管理员' } ], departments: [ { id: 1, name: '研发' } ], lastLoginAt: 1682172226, lastLoginIp: '[::1]:6536', disabledAt: 0, createdAt: 1680884142, updatedAt: 1682172226 }) list.push(record) } return resultPageSuccess({ page: Number(opt.query['page']), limit: Number(opt.query['limit']), total: 32, data: list }) } }, { url: /\/api\/v1\/roles\/\d+\/permissions/, method: 'get', response: () => { return resultPageSuccess({ data: [1, 2, 101, 201, 202] }) } }, { url: /\/api\/v1\/roles\/\d+\/permissions/, method: 'put', response: () => { return resultPageSuccess(null) } }, { url: /\/api\/v1\/roles\/\d+/, method: 'delete', response: () => { return resultSuccess(null) } }, { url: '/api/v1/roles', method: 'post', response: () => { return resultSuccess(null) } }, { url: /\/api\/v1\/roles\/\d+\/users/, method: 'post', response: () => { return resultSuccess(null) } } ] as MockMethod[]