user.ts 4.4 KB

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