89 lines
1.7 KiB
JavaScript
89 lines
1.7 KiB
JavaScript
|
|
|
|||
|
|
const tokens = {
|
|||
|
|
admin: {
|
|||
|
|
token: 'admin-token'
|
|||
|
|
},
|
|||
|
|
editor: {
|
|||
|
|
token: 'editor-token'
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
const users = {
|
|||
|
|
'admin-token': {
|
|||
|
|
roles: ['admin'],
|
|||
|
|
introduction: 'I am a super administrator',
|
|||
|
|
avatar: 'https://cube.elemecdn.com/3/7c/3ea6beec64369c2642b92c6726f1epng.png',
|
|||
|
|
name: 'Super Admin'
|
|||
|
|
},
|
|||
|
|
'editor-token': {
|
|||
|
|
roles: ['editor'],
|
|||
|
|
introduction: 'I am an editor',
|
|||
|
|
avatar: 'https://cube.elemecdn.com/3/7c/3ea6beec64369c2642b92c6726f1epng.png',
|
|||
|
|
name: 'Normal Editor'
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
export default [
|
|||
|
|
// user login
|
|||
|
|
{
|
|||
|
|
url: '/user/login',
|
|||
|
|
type: 'get',
|
|||
|
|
response: config => {
|
|||
|
|
const { username } = config.query
|
|||
|
|
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: '/user/info\.*',
|
|||
|
|
type: 'get',
|
|||
|
|
response: config => {
|
|||
|
|
const auth = require('../src/utils/auth')
|
|||
|
|
let token
|
|||
|
|
// 兼容生产环境上mockjs无法获取headers数据,采用直接读取本地cookie值
|
|||
|
|
if (process.env.NODE_ENV === 'production') {
|
|||
|
|
token = auth.getToken()
|
|||
|
|
} else {
|
|||
|
|
token = config.headers[process.env.VUE_APP_TOKEN_KEY]
|
|||
|
|
}
|
|||
|
|
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: '/user/logout',
|
|||
|
|
type: 'post',
|
|||
|
|
response: _ => {
|
|||
|
|
return {
|
|||
|
|
code: 20000,
|
|||
|
|
data: 'success'
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
]
|