user.ts 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. import { MockMethod } from 'vite-plugin-mock';
  2. import { resultError, resultSuccess, getRequestToken, requestParams } from '../_util';
  3. export function createFakeUserList() {
  4. return [
  5. {
  6. userId: '1',
  7. username: 'vben',
  8. realName: 'Vben Admin',
  9. avatar: 'https://q1.qlogo.cn/g?b=qq&nk=190848757&s=640',
  10. desc: 'manager',
  11. password: '123456',
  12. token: 'fakeToken1',
  13. roles: [
  14. {
  15. roleName: 'Super Admin',
  16. value: 'super',
  17. },
  18. ],
  19. },
  20. {
  21. userId: '2',
  22. username: 'test',
  23. password: '123456',
  24. realName: 'test user',
  25. avatar: 'https://q1.qlogo.cn/g?b=qq&nk=339449197&s=640',
  26. desc: 'tester',
  27. token: 'fakeToken2',
  28. roles: [
  29. {
  30. roleName: 'Tester',
  31. value: 'test',
  32. },
  33. ],
  34. },
  35. ];
  36. }
  37. const fakeCodeList: any = {
  38. '1': ['1000', '3000', '5000'],
  39. '2': ['2000', '4000', '6000'],
  40. };
  41. export default [
  42. // mock user login
  43. {
  44. url: '/basic-api/login',
  45. timeout: 200,
  46. method: 'post',
  47. response: ({ body }) => {
  48. const { username, password } = body;
  49. const checkUser = createFakeUserList().find(
  50. (item) => item.username === username && password === item.password
  51. );
  52. if (!checkUser) {
  53. return resultError('Incorrect account or password!');
  54. }
  55. const { userId, username: _username, token, realName, desc, roles } = checkUser;
  56. return resultSuccess({
  57. roles,
  58. userId,
  59. username: _username,
  60. token,
  61. realName,
  62. desc,
  63. });
  64. },
  65. },
  66. {
  67. url: '/basic-api/getUserInfo',
  68. method: 'get',
  69. response: (request: requestParams) => {
  70. const token = getRequestToken(request);
  71. if (!token) return resultError('Invalid token');
  72. const checkUser = createFakeUserList().find((item) => item.token === token);
  73. if (!checkUser) {
  74. return resultError('The corresponding user information was not obtained!');
  75. }
  76. return resultSuccess(checkUser);
  77. },
  78. },
  79. {
  80. url: '/basic-api/getPermCode',
  81. timeout: 200,
  82. method: 'get',
  83. response: (request: requestParams) => {
  84. const token = getRequestToken(request);
  85. if (!token) return resultError('Invalid token');
  86. const checkUser = createFakeUserList().find((item) => item.token === token);
  87. if (!checkUser) {
  88. return resultError('Invalid token!');
  89. }
  90. const codeList = fakeCodeList[checkUser.userId];
  91. return resultSuccess(codeList);
  92. },
  93. },
  94. {
  95. url: '/basic-api/logout',
  96. timeout: 200,
  97. method: 'get',
  98. response: (request: requestParams) => {
  99. const token = getRequestToken(request);
  100. if (!token) return resultError('Invalid token');
  101. const checkUser = createFakeUserList().find((item) => item.token === token);
  102. if (!checkUser) {
  103. return resultError('Invalid token!');
  104. }
  105. return resultSuccess(undefined, { message: 'Token has been destroyed' });
  106. },
  107. },
  108. ] as MockMethod[];