index.js 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. import Mock from 'mockjs';
  2. import { deepClone } from '../../src/utils/index.js';
  3. import { asyncRoutes, constantRoutes } from './routes.js';
  4. const routes = deepClone([...constantRoutes, ...asyncRoutes]);
  5. const roles = [
  6. {
  7. key: 'admin',
  8. name: 'admin',
  9. description: 'Super Administrator. Have access to view all pages.',
  10. routes: routes,
  11. },
  12. {
  13. key: 'editor',
  14. name: 'editor',
  15. description: 'Normal Editor. Can see all pages except permission page',
  16. routes: routes.filter((i) => i.path !== '/permission'), // just a mock
  17. },
  18. {
  19. key: 'visitor',
  20. name: 'visitor',
  21. description: 'Just a visitor. Can only see the home page and the document page',
  22. routes: [
  23. {
  24. path: '',
  25. redirect: 'dashboard',
  26. children: [
  27. {
  28. path: 'dashboard',
  29. name: 'Dashboard',
  30. meta: { title: 'dashboard', icon: 'dashboard' },
  31. },
  32. ],
  33. },
  34. ],
  35. },
  36. ];
  37. export default [
  38. // mock get all routes form server
  39. {
  40. url: '/vue-element-admin/routes',
  41. type: 'get',
  42. response: (_) => {
  43. return {
  44. code: 20000,
  45. data: routes,
  46. };
  47. },
  48. },
  49. // mock get all roles form server
  50. {
  51. url: '/vue-element-admin/roles',
  52. type: 'get',
  53. response: (_) => {
  54. return {
  55. code: 20000,
  56. data: roles,
  57. };
  58. },
  59. },
  60. // add role
  61. {
  62. url: '/vue-element-admin/role',
  63. type: 'post',
  64. response: {
  65. code: 20000,
  66. data: {
  67. key: Mock.mock('@integer(300, 5000)'),
  68. },
  69. },
  70. },
  71. // update role
  72. {
  73. url: '/vue-element-admin/role/[A-Za-z0-9]',
  74. type: 'put',
  75. response: {
  76. code: 20000,
  77. data: {
  78. status: 'success',
  79. },
  80. },
  81. },
  82. // delete role
  83. {
  84. url: '/vue-element-admin/role/[A-Za-z0-9]',
  85. type: 'delete',
  86. response: {
  87. code: 20000,
  88. data: {
  89. status: 'success',
  90. },
  91. },
  92. },
  93. ];