index.mock.ts 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. import config from '@/config/axios/config'
  2. const { code } = config
  3. const delay = 1000
  4. const List: {
  5. username: string
  6. password: string
  7. role: string
  8. roleId: string
  9. permissions: string | string[]
  10. }[] = [
  11. {
  12. username: 'admin',
  13. password: 'admin',
  14. role: 'admin',
  15. roleId: '1',
  16. permissions: ['*.*.*']
  17. },
  18. {
  19. username: 'test',
  20. password: 'test',
  21. role: 'test',
  22. roleId: '2',
  23. permissions: ['example:dialog:create', 'example:dialog:delete']
  24. }
  25. ]
  26. export default [
  27. // 列表接口
  28. {
  29. url: '/mock/user/list',
  30. method: 'GET',
  31. body: ({ query }) => {
  32. const { username, pageIndex, pageSize } = query
  33. const mockList = List.filter((item) => {
  34. if (username && item.username.indexOf(username) < 0) return false
  35. return true
  36. })
  37. const pageList = mockList.filter(
  38. (_, index) => index < pageSize * pageIndex && index >= pageSize * (pageIndex - 1)
  39. )
  40. return {
  41. code: code,
  42. data: {
  43. total: mockList.length,
  44. list: pageList
  45. }
  46. }
  47. }
  48. },
  49. // 登录接口
  50. {
  51. url: '/mock/user/login',
  52. method: 'POST',
  53. delay,
  54. body: ({ body }) => {
  55. const data = body
  56. let hasUser = false
  57. for (const user of List) {
  58. if (user.username === data.username && user.password === data.password) {
  59. hasUser = true
  60. return {
  61. code: code,
  62. data: user
  63. }
  64. }
  65. }
  66. if (!hasUser) {
  67. return {
  68. code: 500,
  69. message: '账号或密码错误'
  70. }
  71. }
  72. }
  73. },
  74. // 退出接口
  75. {
  76. url: '/mock/user/loginOut',
  77. method: 'GET',
  78. delay,
  79. body: () => {
  80. return {
  81. code: code,
  82. data: null
  83. }
  84. }
  85. }
  86. ]