user.js 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. const tokens = {
  2. admin: {
  3. token: 'admin-token'
  4. },
  5. editor: {
  6. token: 'editor-token'
  7. }
  8. }
  9. const users = {
  10. 'admin-token': {
  11. roles: ['admin'],
  12. introduction: 'I am a super administrator',
  13. avatar: 'https://wpimg.wallstcn.com/f778738c-e4f8-4870-b634-56703b4acafe.gif',
  14. name: 'Super Admin'
  15. },
  16. 'editor-token': {
  17. roles: ['editor'],
  18. introduction: 'I am an editor',
  19. avatar: 'https://wpimg.wallstcn.com/f778738c-e4f8-4870-b634-56703b4acafe.gif',
  20. name: 'Normal Editor'
  21. }
  22. }
  23. export default [
  24. // user login
  25. {
  26. url: '/user/login',
  27. type: 'post',
  28. response: config => {
  29. console.log('mock/user/login')
  30. const { username } = config.body
  31. const token = tokens[username]
  32. // mock error
  33. if (!token) {
  34. return {
  35. code: 60204,
  36. message: 'Account and password are incorrect.'
  37. }
  38. }
  39. return {
  40. code: 20000,
  41. data: token
  42. }
  43. }
  44. },
  45. // get user info
  46. {
  47. url: '/user/info\.*',
  48. type: 'get',
  49. response: config => {
  50. const { token } = config.query
  51. const info = users[token]
  52. // mock error
  53. if (!info) {
  54. return {
  55. code: 50008,
  56. message: 'Login failed, unable to get user details.'
  57. }
  58. }
  59. return {
  60. code: 20000,
  61. data: info
  62. }
  63. }
  64. },
  65. // user logout
  66. {
  67. url: '/user/logout',
  68. type: 'post',
  69. response: _ => {
  70. return {
  71. code: 20000,
  72. data: 'success'
  73. }
  74. }
  75. }
  76. ]