user.js 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  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: ['gzt', 'yyzx'],
  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. module.exports = [
  24. // user login
  25. {
  26. url: '/user/login',
  27. type: 'post',
  28. response: config => {
  29. const { username } = config.body
  30. const token = tokens[username]
  31. // mock error
  32. if (!token) {
  33. return {
  34. code: 60204,
  35. message: 'Account and password are incorrect.'
  36. }
  37. }
  38. return {
  39. code: 20000,
  40. data: token
  41. }
  42. }
  43. },
  44. // get user info
  45. {
  46. url: '/user/info\.*',
  47. type: 'get',
  48. response: config => {
  49. let info
  50. if (config.headers.authorization) {
  51. const token = config.headers.authorization.substring(7)
  52. info = users[token]
  53. }
  54. // mock error
  55. if (!info) {
  56. return {
  57. code: 500,
  58. message: 'Login failed, unable to get user details.'
  59. }
  60. }
  61. return {
  62. code: 200,
  63. data: info
  64. }
  65. }
  66. },
  67. // user logout
  68. {
  69. url: '/user/logout',
  70. type: 'post',
  71. response: _ => {
  72. return {
  73. code: 20000,
  74. data: 'success'
  75. }
  76. }
  77. }
  78. ]