You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

95 lines
2.5 KiB

import type { MockConfig, MockMethod } from 'vite-plugin-mock';
import { getRequestToken, resultError, resultSuccess } from '/nerv-base/util/mock';
const fakeUserList = [
{
userId: '1',
username: 'vben',
realName: 'Vben Admin',
avatar: '',
desc: 'manager',
password: '123456',
accessToken: 'fakeAdminToken',
homePath: '/dashboard',
roles: [
{
roleName: 'Super Admin',
value: 'super',
},
],
},
{
userId: '2',
username: 'test',
password: '123456',
realName: 'test user',
avatar: '',
desc: 'tester',
accessToken: 'fakeTestToken',
homePath: '/dashboard/workbench',
roles: [
{
roleName: 'Tester',
value: 'test',
},
],
},
];
export default (_config: MockConfig): MockMethod[] => {
return [
{
url: '/req-api/login',
timeout: 200,
method: 'post',
response: ({ body }) => {
const { username, password } = body;
const checkUser = fakeUserList.find(
(item) => item.username === username && password === item.password,
);
if (!checkUser) {
return resultError('Incorrect account or password!');
}
const { userId, username: _username, accessToken, realName, desc, roles } = checkUser;
return resultSuccess({
roles,
userId,
username: _username,
accessToken,
realName,
desc,
});
},
},
{
url: '/req-api/getUserInfo',
method: 'get',
timeout: 100,
response: (request) => {
const token = getRequestToken(request) || 'fakeAdminToken';
if (!token) return resultError('Invalid token');
const checkUser = fakeUserList.find((item) => item.accessToken === token);
if (!checkUser) {
return resultError('The corresponding user information was not obtained!');
}
const { accessToken: _token, password: _pwd, ...rest } = checkUser;
return resultSuccess(rest);
},
},
{
url: '/req-api/logout',
timeout: 200,
method: 'get',
response: (request) => {
const token = getRequestToken(request);
if (!token) return resultError('Invalid token');
const checkUser = fakeUserList.find((item) => item.accessToken === token);
if (!checkUser) {
return resultError('Invalid token!');
}
return resultSuccess(undefined, { message: 'Token has been destroyed' });
},
},
];
};