| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- const { Random } = require('mockjs')
- const tokens = {
- admin: `admin-token-${Random.guid()}-${new Date().getTime()}`,
- editor: `editor-token-${Random.guid()}-${new Date().getTime()}`,
- test: `test-token-${Random.guid()}-${new Date().getTime()}`,
- }
- const username2role = {
- admin: ['Admin'],
- editor: ['Editor'],
- test: ['Admin', 'Editor'],
- }
- const role2permission = {
- Admin: ['read:system', 'write:system', 'delete:system'],
- Editor: ['read:system', 'write:system'],
- Test: ['read:system'],
- }
- module.exports = [
- {
- url: '/login',
- type: 'post',
- response(config) {
- const { username } = config.body
- const token = tokens[username]
- if (!token)
- return {
- code: 500,
- msg: '帐户或密码不正确',
- }
- return {
- code: 200,
- msg: 'success',
- data: { token },
- }
- },
- },
- {
- url: '/userInfo',
- type: 'get',
- response(config) {
- const authorization =
- config.headers.authorization || config.headers.Authorization
- if (!authorization.startsWith('Bearer '))
- return {
- code: 401,
- msg: '令牌无效',
- }
- const username = authorization.replace('Bearer ', '').split('-token-')[0]
- const roles = username2role[username] || []
- const permissions = [
- ...new Set(roles.flatMap((role) => role2permission[role])),
- ]
- return {
- code: 200,
- msg: 'success',
- data: {
- username,
- roles,
- permissions,
- avatar: 'https://i.gtimg.cn/club/item/face/img/2/16022_100.gif',
- },
- }
- },
- },
- {
- url: '/logout',
- type: 'get',
- response() {
- return {
- code: 200,
- msg: 'success',
- }
- },
- },
- ]
|