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.
84 lines
1.5 KiB
84 lines
1.5 KiB
|
|
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' |
|
} |
|
} |
|
|
|
module.exports = [ |
|
// user login |
|
{ |
|
url: '/vue-admin-template/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-admin-template/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-admin-template/user/logout', |
|
type: 'post', |
|
response: _ => { |
|
return { |
|
code: 20000, |
|
data: 'success' |
|
} |
|
} |
|
} |
|
]
|
|
|