121 lines
3.0 KiB
TypeScript
121 lines
3.0 KiB
TypeScript
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: '',
|
||
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: '',
|
||
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[]
|