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.
93 lines
2.1 KiB
93 lines
2.1 KiB
8 months ago
|
// +----------------------------------------------------------------------
|
||
|
// | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
|
||
|
// +----------------------------------------------------------------------
|
||
|
// | Copyright (c) 2016~2023 https://www.crmeb.com All rights reserved.
|
||
|
// +----------------------------------------------------------------------
|
||
|
// | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
|
||
|
// +----------------------------------------------------------------------
|
||
|
// | Author: CRMEB Team <admin@crmeb.com>
|
||
|
// +----------------------------------------------------------------------
|
||
|
const tokens = {
|
||
|
admin: {
|
||
|
token: 'admin-token'
|
||
|
},
|
||
|
editor: {
|
||
|
token: 'editor-token'
|
||
|
}
|
||
|
}
|
||
|
|
||
|
const users = {
|
||
|
'admin-token': {
|
||
|
roles: ['admin'],
|
||
|
introduction: 'I am a super administrator',
|
||
|
avatar: 'https://wpimg.wallstcn.com/f778738c-e4f8-4870-b634-56703b4acafe.gif',
|
||
|
name: 'Super Admin'
|
||
|
},
|
||
|
'editor-token': {
|
||
|
roles: ['editor'],
|
||
|
introduction: 'I am an editor',
|
||
|
avatar: 'https://wpimg.wallstcn.com/f778738c-e4f8-4870-b634-56703b4acafe.gif',
|
||
|
name: 'Normal Editor'
|
||
|
}
|
||
|
}
|
||
|
|
||
|
export default [
|
||
|
// user login
|
||
|
{
|
||
|
url: '/vue-element-admin/user/login',
|
||
|
type: 'post',
|
||
|
response: config => {
|
||
|
const { username } = config.body
|
||
|
const token = tokens[username]
|
||
|
|
||
|
// mock error
|
||
|
if (!token) {
|
||
|
return {
|
||
|
code: 60204,
|
||
|
message: 'Account and password are incorrect.'
|
||
|
}
|
||
|
}
|
||
|
|
||
|
return {
|
||
|
code: 20000,
|
||
|
data: token
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
|
||
|
// get user info
|
||
|
{
|
||
|
url: '/vue-element-admin/user/info\.*',
|
||
|
type: 'get',
|
||
|
response: config => {
|
||
|
const { token } = config.query
|
||
|
const info = users[token]
|
||
|
|
||
|
// mock error
|
||
|
if (!info) {
|
||
|
return {
|
||
|
code: 50008,
|
||
|
message: 'Login failed, unable to get user details.'
|
||
|
}
|
||
|
}
|
||
|
|
||
|
return {
|
||
|
code: 20000,
|
||
|
data: info
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
|
||
|
// user logout
|
||
|
{
|
||
|
url: '/vue-element-admin/user/logout',
|
||
|
type: 'post',
|
||
|
response: _ => {
|
||
|
return {
|
||
|
code: 20000,
|
||
|
data: 'success'
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
]
|