金币系统前端
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

99 lines
5.0 KiB

1 month ago
  1. import { createRouter, createWebHashHistory } from 'vue-router';
  2. const router = createRouter({
  3. history: createWebHashHistory(),
  4. routes: [
  5. { path: '/login', name: "login", component: () => import("../views/login.vue") },
  6. { path: '/', redirect: "/login" },
  7. { path: '/test', component: () => import("../views/z.vue") },
  8. {
  9. meta: { requireAuth: true },
  10. path: '/index', component: () => import("../views/index.vue"),
  11. children: [
  12. // 工作台
  13. { path: '/workspace/:area?', name: "workspace", component: () => import("../views/workspace/index.vue") },
  14. // 充值审核
  15. { path: '/rechargeAudit', name: "rechargeAudit", component: () => import("../views/audit/rechargeAudit.vue") },
  16. // 退款审核
  17. { path: '/refundAudit', name: "refundAudit", component: () => import("../views/audit/refundAudit.vue") },
  18. // 新增消费
  19. { path: '/addConsume', name: "addConsume", component: () => import("../views/consume/addConsume.vue") },
  20. // 所有消费明细
  21. { path: '/allConsume', name: "allConsume", component: () => import("../views/consume/allConsume.vue") },
  22. // 活动管理
  23. { path: '/activity', name: "activity", component: () => import("../views/managerecharge/activity.vue") },
  24. // 汇率管理
  25. { path: '/rate', name: "rate", component: () => import("../views/managerecharge/rate.vue") },
  26. // 新增充值
  27. { path: '/addRecharge', name: "addRecharge", component: () => import("../views/recharge/addRecharge.vue") },
  28. // 客户充值明细
  29. { path: '/adminRecharge', name: "adminRecharge", component: () => import("../views/recharge/adminRecharge.vue") },
  30. // 所有充值明细
  31. { path: '/allRecharge', name: "allRecharge", component: () => import("../views/recharge/allRecharge.vue") },
  32. // 新增退款
  33. { path: '/addRefund', name: "addRefund", component: () => import("../views/refund/addRefund.vue") },
  34. // 退款明细
  35. { path: '/allRefund', name: "allRefund", component: () => import("../views/refund/allRefund.vue") },
  36. // 客户金币明细
  37. { path: '/usergold', name: "usergold", component: () => import("../views/usergold/index.vue") },
  38. // 客户金币余额
  39. { path: '/usergoldInfo', name: "usergoldInfo", component: () => import("../views/usergoldInfo/index.vue") },
  40. // 权限管理
  41. { path: '/permissions', name: "permissions", component: () => import("../views/permissions/index.vue") },
  42. // 没有权限
  43. { path: '/noPermission', name: "noPermission", component: () => import("../views/noPermissionPage.vue") },
  44. //金豆充值
  45. { path: '/addGoldenBeen', name: "addGoldenBeen", component: () => import("../views/goldBeen/addGoldenBeen.vue") },
  46. //金豆余额
  47. { path: '/goldenBeenBalance', name: "goldenBeenBalance", component: () => import("../views/goldBeen/goldenBeenBalance.vue") },
  48. //金豆充值明细
  49. { path: '/goldenBeenDetail', name: "goldenBeenDetail", component: () => import("../views/goldBeen/goldenBeenDetail.vue") },
  50. //金豆消费明细
  51. { path: '/goldenBeenConsum', name: "goldenBeenConsum", component: () => import("../views/goldBeen/goldenBeenConsum.vue") }
  52. ]
  53. },
  54. ]
  55. });
  56. router.beforeEach((to, from, next) => {
  57. const token = localStorage.getItem("token");
  58. const permission = localStorage.getItem("permission");
  59. if (to.name != "login" && !token) {
  60. next({ name: "login" });
  61. } else {
  62. if (permission == "4" && to.name != "noPermission") {
  63. next({ name: "noPermission" });
  64. } else if (permission == "3") {
  65. if (to.name == "addConsume" || to.name == "allConsume"
  66. || to.name == "addRecharge" || to.name == "adminRecharge" || to.name == "allRecharge"
  67. || to.name == "addRefund" || to.name == "allRefund"
  68. || to.name == "permissions") {
  69. next({ name: "workspace" });
  70. } else {
  71. next();
  72. }
  73. } else if (permission == '2') {
  74. if (to.name == "rechargeAudit" || to.name == "refundAudit"
  75. || to.name == "activity" || to.name == "rate"
  76. || to.name == "permissions") {
  77. next({ name: "workspace" })
  78. } else {
  79. next();
  80. }
  81. } else if (permission == '5') {
  82. if (to.name == "permissions") {
  83. next({ name: "workspace" })
  84. } else {
  85. next();
  86. }
  87. }
  88. else {
  89. next();
  90. }
  91. }
  92. })
  93. export default router;