85 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
			
		
		
	
	
			85 lines
		
	
	
		
			1.5 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://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-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'
 | |
|       }
 | |
|     }
 | |
|   }
 | |
| ]
 |