user.ts 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134
  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:
  13. 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJsb2dpblR5cGUiOiJsb2dpbiIsImxvZ2luSWQiOjEsImRldmljZSI6ImRlZmF1bHQtZGV2aWNlIiwiZWZmIjotMSwicm5TdHIiOiJ6ZjI5a0k2V3RuaXZWeUMzall6NTRzM2ZVSVdSNEdUNSIsInVzZXJJZCI6MSwiaXNBZG1pbiI6MSwidXNlck5hbWUiOiJzdXBlci1hZG1pbiIsIm5pY2tOYW1lIjoic3VwZXItYWRtaW4ifQ.6Ax289ca_YfMnTs9Q5DtBIE3iVfD4cgVVnSRjeXfOuI',
  14. homePath: '/dashboard/analysis',
  15. roles: [
  16. {
  17. roleName: 'Super Admin',
  18. value: 'super',
  19. },
  20. ],
  21. },
  22. {
  23. userId: '2',
  24. username: 'test',
  25. password: '123456',
  26. realName: 'test user',
  27. avatar: 'https://q1.qlogo.cn/g?b=qq&nk=339449197&s=640',
  28. desc: 'tester',
  29. token:
  30. 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJsb2dpblR5cGUiOiJsb2dpbiIsImxvZ2luSWQiOjEsImRldmljZSI6ImRlZmF1bHQtZGV2aWNlIiwiZWZmIjotMSwicm5TdHIiOiJ6ZjI5a0k2V3RuaXZWeUMzall6NTRzM2ZVSVdSNEdUNSIsInVzZXJJZCI6MSwiaXNBZG1pbiI6MSwidXNlck5hbWUiOiJzdXBlci1hZG1pbiIsIm5pY2tOYW1lIjoic3VwZXItYWRtaW4ifQ.6Ax289ca_YfMnTs9Q5DtBIE3iVfD4cgVVnSRjeXfOuI',
  31. homePath: '/dashboard/workbench',
  32. roles: [
  33. {
  34. roleName: 'Tester',
  35. value: 'test',
  36. },
  37. ],
  38. },
  39. {
  40. userId: '2',
  41. username: 'test',
  42. password: '123456',
  43. realName: 'test user',
  44. avatar: 'https://q1.qlogo.cn/g?b=qq&nk=339449197&s=640',
  45. desc: 'tester',
  46. token:
  47. 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJsb2dpblR5cGUiOiJsb2dpbiIsImxvZ2luSWQiOjEsImRldmljZSI6ImRlZmF1bHQtZGV2aWNlIiwiZWZmIjotMSwicm5TdHIiOiJ6ZjI5a0k2V3RuaXZWeUMzall6NTRzM2ZVSVdSNEdUNSIsInVzZXJJZCI6MSwiaXNBZG1pbiI6MSwidXNlck5hbWUiOiJzdXBlci1hZG1pbiIsIm5pY2tOYW1lIjoic3VwZXItYWRtaW4ifQ.6Ax289ca_YfMnTs9Q5DtBIE3iVfD4cgVVnSRjeXfOuI',
  48. homePath: '/dashboard/workbench',
  49. roles: [
  50. {
  51. roleName: 'Tester',
  52. value: 'test',
  53. },
  54. ],
  55. },
  56. ];
  57. }
  58. const fakeCodeList: any = {
  59. '1': ['1000', '3000', '5000'],
  60. '2': ['2000', '4000', '6000'],
  61. };
  62. export default [
  63. // mock user login
  64. {
  65. url: '/basic-api/login',
  66. timeout: 200,
  67. method: 'post',
  68. response: ({ body }) => {
  69. const { username, password } = body;
  70. console.log('token', body);
  71. const checkUser = createFakeUserList().find(
  72. (item) => item.username === username && password === item.password,
  73. );
  74. if (!checkUser) {
  75. return resultError('Incorrect account or password!');
  76. }
  77. const { userId, username: _username, token, realName, desc, roles } = checkUser;
  78. return resultSuccess({
  79. roles,
  80. userId,
  81. username: _username,
  82. token,
  83. realName,
  84. desc,
  85. });
  86. },
  87. },
  88. {
  89. url: '/basic-api/getUserInfo',
  90. method: 'get',
  91. response: (request: requestParams) => {
  92. const token = getRequestToken(request);
  93. if (!token) return resultError('Invalid token');
  94. const checkUser = createFakeUserList().find((item) => item.token === token);
  95. if (!checkUser) {
  96. return resultError('The corresponding user information was not obtained!');
  97. }
  98. return resultSuccess(checkUser);
  99. },
  100. },
  101. {
  102. url: '/basic-api/getPermCode',
  103. timeout: 200,
  104. method: 'get',
  105. response: (request: requestParams) => {
  106. const token = getRequestToken(request);
  107. if (!token) return resultError('Invalid token');
  108. const checkUser = createFakeUserList().find((item) => item.token === token);
  109. if (!checkUser) {
  110. return resultError('Invalid token!');
  111. }
  112. const codeList = fakeCodeList[checkUser.userId];
  113. return resultSuccess(codeList);
  114. },
  115. },
  116. {
  117. url: '/basic-api/logout',
  118. timeout: 200,
  119. method: 'get',
  120. response: (request: requestParams) => {
  121. const token = getRequestToken(request);
  122. if (!token) return resultError('Invalid token');
  123. const checkUser = createFakeUserList().find((item) => item.token === token);
  124. if (!checkUser) {
  125. return resultError('Invalid token!');
  126. }
  127. return resultSuccess(undefined, { message: 'Token has been destroyed' });
  128. },
  129. },
  130. ] as MockMethod[];