import { MockMethod } from 'vite-plugin-mock' import { resultError, resultSuccess, getRequestToken, requestParams } from '../_util' export function createFakeUserList() { return [ { userId: '1', username: 'vben', realName: 'Vben Admin', avatar: 'https://q1.qlogo.cn/g?b=qq&nk=190848757&s=640', desc: 'manager', password: '123456', token: 'fakeToken1', homePath: '/dashboard/analysis', roles: [ { roleName: 'Super Admin', value: 'super', }, ], }, { userId: '2', username: 'test', password: '123456', realName: 'test user', avatar: 'https://q1.qlogo.cn/g?b=qq&nk=339449197&s=640', desc: 'tester', token: 'fakeToken2', homePath: '/dashboard/workbench', roles: [ { roleName: 'Tester', value: 'test', }, ], }, ] } const fakeCodeList: any = { '1': ['1000', '3000', '5000'], '2': ['2000', '4000', '6000'], } export default [ // mock user login { url: '/basic-api/login', timeout: 200, method: 'post', response: ({ body }) => { const { username, password } = body const checkUser = createFakeUserList().find( (item) => item.username === username && password === item.password, ) if (!checkUser) { return resultError('Incorrect account or password!') } const { userId, username: _username, token, realName, desc, roles } = checkUser return resultSuccess({ roles, userId, username: _username, token, realName, desc, }) }, }, { url: '/basic-api/getUserInfo', method: 'get', response: (request: requestParams) => { const token = getRequestToken(request) if (!token) return resultError('Invalid token') const checkUser = createFakeUserList().find((item) => item.token === token) if (!checkUser) { return resultError('The corresponding user information was not obtained!') } return resultSuccess(checkUser) }, }, { url: '/basic-api/getPermCode', timeout: 200, method: 'get', response: (request: requestParams) => { const token = getRequestToken(request) if (!token) return resultError('Invalid token') const checkUser = createFakeUserList().find((item) => item.token === token) if (!checkUser) { return resultError('Invalid token!') } const codeList = fakeCodeList[checkUser.userId] return resultSuccess(codeList) }, }, { url: '/basic-api/logout', timeout: 200, method: 'get', response: (request: requestParams) => { const token = getRequestToken(request) if (!token) return resultError('Invalid token') const checkUser = createFakeUserList().find((item) => item.token === token) if (!checkUser) { return resultError('Invalid token!') } return resultSuccess(undefined, { message: 'Token has been destroyed' }) }, }, { url: '/basic-api/testRetry', statusCode: 405, method: 'get', response: () => { return resultError('Error!') }, }, ] as MockMethod[]