boluo-admin-main/mock/user.ts
eleanor.mao 48f2c49c2b feat:
2025-06-03 00:03:08 +08:00

80 lines
1.9 KiB
TypeScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import { Request, Response } from 'express';
import { md5 } from 'js-md5';
import { AdminAPI } from '../src/constants/api';
const waitTime = (time: number = 100) => {
return new Promise(resolve => {
setTimeout(() => {
resolve(true);
}, time);
});
};
const { ANT_DESIGN_PRO_ONLY_DO_NOT_USE_IN_YOUR_PRODUCTION } = process.env;
/**
* 当前用户的权限,如果为空代表没登录
* current user access if is '', user need login
* 如果是 pro 的预览,默认是有权限的
*/
let access = ANT_DESIGN_PRO_ONLY_DO_NOT_USE_IN_YOUR_PRODUCTION === 'site' ? 'admin' : '';
const getAccess = () => {
return access;
};
export default {
[`POST ${AdminAPI.USER}`]: (req: Request, res: Response) => {
if (!getAccess()) {
res.status(401).send({
data: {
isLogin: false,
},
errorCode: '401',
errorMessage: '请先登录!',
success: true,
});
return;
}
res.send({
id: '1',
userId: '00000001',
userName: '小叶',
created: Date.now().toString(),
updated: Date.now().toString(),
});
},
[`POST ${AdminAPI.LOGIN}`]: async (req: Request, res: Response) => {
const { pwd, userName, type } = req.body;
await waitTime(2000);
if (pwd === md5('boluo') && userName === 'admin') {
res.json({
token: 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9',
expires: 3600,
});
access = 'admin';
return;
}
if (pwd === md5('user') && userName === 'user') {
res.json({
token: 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9',
expires: 3600,
});
access = 'user';
return;
}
res.send({
status: 'error',
type,
currentAuthority: 'guest',
});
access = 'guest';
},
[`POST ${AdminAPI.OUT_LOGIN}`]: (req: Request, res: Response) => {
access = '';
res.send({ data: {}, success: true });
},
};