import { MockMethod } from 'vite-plugin-mock' import { resultError, resultSuccess, getRequestToken, requestParams } from '../_util' export function createFakeUserList() { return [ { userId: '1', username: 'hinzai', realName: 'hinzai', avatar: 'https://q1.qlogo.cn/g?b=qq&nk=190848757&s=640', desc: 'manager', password: '123456', token: 'QNT iHP4V/g6O5DXHixyNrf7tjJzhv1uzd15gp7AgTwJsmPLbOmqa7ZoSiaGTLfB/eLpbse0PBxScusDqEpdm1ZVRA==', homePath: '/workbench', 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: '/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) return resultSuccess(createFakeUserList()[0]) }, }, { 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[]