99 lines
1.9 KiB
JavaScript
Executable File
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,
|
|
}
|
|
},
|
|
},
|
|
]
|