spa/mock/user.js
2025-03-29 11:46:12 +08:00

99 lines
1.9 KiB
JavaScript
Executable File

const accounts = {
admin: {
password: '21232f297a57a5a743894a0e4a801fc3',
name: 'super Admin',
role: [],
},
user: {
password: 'ee11cbb19052e40b07aac0ca060c23ee',
name: 'nomal user',
},
}
const tokens = {
admin: {
token: 'admin-token',
},
user: {
token: 'user-token',
},
}
const { mockRoutesResource, buttonAuth } = require('./constant/userPermission')
const permission = {
menu: mockRoutesResource,
buttonAuth: buttonAuth,
}
module.exports = [
// 登录接口
{
url: '/user/login', // 支持正则
type: 'post',
response: config => {
const { username, password } = config.body
let token = undefined
if (accounts[username] && accounts[username].password === password) {
token = tokens[username]
}
// mock error
if (!token) {
return {
errcode: 1,
errmsg: '账号或密码不匹配',
}
}
return {
errcode: 0,
data: token,
}
},
},
// 获取用户信息
{
url: '/user/info',
type: 'get',
response: config => {
let token = config.headers.authorization.split('Bearer ')[1]
if (token === 'admin-token') {
return {
errcode: 0,
data: {
isAdmin: true,
username: '管理员',
avatar: '',
info: {},
},
}
} else if (token === 'user-token') {
return {
data: {
isAdmin: false,
username: '普通用户',
avatar: '',
info: {},
},
}
} else {
return {
errcode: 0,
errmsg: `token异常`,
}
}
},
},
// 获取用户权限制
{
url: '/permission/getUserPermissionByToken',
type: 'get',
response: () => {
return {
errcode: 0,
data: permission,
}
},
},
]