user.ts 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. import { getRequestToken, resultError, resultSuccess } from './_util';
  2. const fakeUserList = [
  3. {
  4. accessToken: 'fakeAdminToken',
  5. avatar: '',
  6. desc: 'manager',
  7. homePath: '/',
  8. password: '123456',
  9. realName: 'Vben Admin',
  10. roles: [
  11. {
  12. roleName: 'Super Admin',
  13. value: 'super',
  14. },
  15. ],
  16. userId: '1',
  17. username: 'vben',
  18. },
  19. {
  20. accessToken: 'fakeTestToken',
  21. avatar: '',
  22. desc: 'tester',
  23. homePath: '/',
  24. password: '123456',
  25. realName: 'test user',
  26. roles: [
  27. {
  28. roleName: 'Tester',
  29. value: 'test',
  30. },
  31. ],
  32. userId: '2',
  33. username: 'test',
  34. },
  35. ];
  36. export default [
  37. {
  38. method: 'post',
  39. response: ({ body }: any) => {
  40. const { password, username } = body;
  41. const checkUser = fakeUserList.find(
  42. (item) => item.username === username && password === item.password,
  43. );
  44. if (!checkUser) {
  45. return resultError('Incorrect account or password!');
  46. }
  47. const {
  48. accessToken,
  49. desc,
  50. realName,
  51. roles,
  52. userId,
  53. username: _username,
  54. } = checkUser;
  55. return resultSuccess({
  56. accessToken,
  57. desc,
  58. realName,
  59. roles,
  60. userId,
  61. username: _username,
  62. });
  63. },
  64. timeout: 200,
  65. url: '/vben-api/login',
  66. },
  67. {
  68. method: 'get',
  69. response: (request: any) => {
  70. const token = getRequestToken(request);
  71. if (!token) return resultError('Invalid token');
  72. const checkUser = fakeUserList.find((item) => item.accessToken === token);
  73. if (!checkUser) {
  74. return resultError(
  75. 'The corresponding user information was not obtained!',
  76. );
  77. }
  78. const { accessToken: _token, password: _pwd, ...rest } = checkUser;
  79. return resultSuccess(rest);
  80. },
  81. url: '/vben-api/getUserInfo',
  82. },
  83. {
  84. method: 'get',
  85. response: (request: any) => {
  86. const token = getRequestToken(request);
  87. if (!token) return resultError('Invalid token');
  88. const checkUser = fakeUserList.find((item) => item.accessToken === token);
  89. if (!checkUser) {
  90. return resultError('Invalid token!');
  91. }
  92. return resultSuccess(undefined, {
  93. message: 'Token has been destroyed',
  94. });
  95. },
  96. timeout: 200,
  97. url: '/vben-api/logout',
  98. },
  99. ];