asyncRoutes.ts 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. // 模拟后端动态生成路由
  2. import { defineFakeRoute } from "vite-plugin-fake-server/client";
  3. /**
  4. * roles:页面级别权限,这里模拟二种 "admin"、"common"
  5. * admin:管理员角色
  6. * common:普通角色
  7. */
  8. const permissionRouter = {
  9. path: "/permission",
  10. meta: {
  11. title: "权限管理",
  12. icon: "ep:lollipop",
  13. rank: 10
  14. },
  15. children: [
  16. {
  17. path: "/permission/page/index",
  18. name: "PermissionPage",
  19. meta: {
  20. title: "页面权限",
  21. roles: ["admin", "common"]
  22. }
  23. },
  24. {
  25. path: "/permission/button",
  26. meta: {
  27. title: "按钮权限",
  28. roles: ["admin", "common"]
  29. },
  30. children: [
  31. {
  32. path: "/permission/button/router",
  33. component: "permission/button/index",
  34. name: "PermissionButtonRouter",
  35. meta: {
  36. title: "路由返回按钮权限",
  37. auths: [
  38. "permission:btn:add",
  39. "permission:btn:edit",
  40. "permission:btn:delete"
  41. ]
  42. }
  43. },
  44. {
  45. path: "/permission/button/login",
  46. component: "permission/button/perms",
  47. name: "PermissionButtonLogin",
  48. meta: {
  49. title: "登录接口返回按钮权限"
  50. }
  51. }
  52. ]
  53. }
  54. ]
  55. };
  56. export default defineFakeRoute([
  57. {
  58. url: "/get-async-routes",
  59. method: "get",
  60. response: () => {
  61. return {
  62. success: true,
  63. data: [permissionRouter]
  64. };
  65. }
  66. }
  67. ]);