| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 | 
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: '/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: '/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: '/user/logout',    type: 'post',    response: _ => {      return {        code: 20000,        data: 'success'      }    }  }]
 |