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'
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								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'
							 | 
						||
| 
								 | 
							
								      }
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								]
							 |