Browse Source

路由

milestone-20250917-重构工作台
ZhangYong 3 weeks ago
parent
commit
9a80865354
  1. 110
      src/router/index.js
  2. 7
      src/utils/menuUtils.js

110
src/router/index.js

@ -25,9 +25,9 @@ const routes = [
path: 'workbench', path: 'workbench',
name: "workbench", name: "workbench",
component: () => import("../views/workspace/index.vue"), component: () => import("../views/workspace/index.vue"),
meta: { permissionId: 10 } // 对应"工作台展示"id=10
meta: { permissionId: 13 } //
}, },
//金币管理
{ {
path: '/goldManage', path: '/goldManage',
name: 'goldManage', name: 'goldManage',
@ -37,7 +37,7 @@ const routes = [
path: '/audit', path: '/audit',
name: "audit", name: "audit",
component: () => import("../views/audit/gold/audit.vue"), component: () => import("../views/audit/gold/audit.vue"),
meta: { permissionId: 40 },
meta: { permissionId: 14 },
// redirect: '/index', // redirect: '/index',
children: [ children: [
// 充值审核 // 充值审核
@ -45,21 +45,30 @@ const routes = [
path: 'rechargeAudit', path: 'rechargeAudit',
name: "rechargeAudit", name: "rechargeAudit",
component: () => import("../views/audit/gold/rechargeAudit.vue"), component: () => import("../views/audit/gold/rechargeAudit.vue"),
meta: { permissionId: [11, 12] } // 对应"查看充值审核"id=11、"充值审批"id=12
meta: { permissionId: [28,30,31,32,33,34,35] } // 对应"查看充值审核"id=11、"充值审批"id=12
}, },
// 退款审核 // 退款审核
{ {
path: 'refundAudit', path: 'refundAudit',
name: "refundAudit", name: "refundAudit",
component: () => import("../views/audit/gold/refundAudit.vue"), component: () => import("../views/audit/gold/refundAudit.vue"),
meta: { permissionId: [13, 14] } // 对应"查看退款审核"id=13、"退款审批"id=14
meta: { permissionId: [29,36,37,38,39,40,41] } // 对应"查看退款审核"id=13、"退款审批"id=14
}, },
] ]
}, { }, {
path: 'beanAudit',
path: '/beanAudit',
name: "beanAudit", name: "beanAudit",
component: () => import("../views/audit/bean/beanAudit.vue"), component: () => import("../views/audit/bean/beanAudit.vue"),
meta: { permissionId: [54, 55] }
meta: { permissionId: 15 },
children: [
// 充值审核
{
path: 'addbeanAudit',
name: "addbeanAudit",
component: () => import("../views/audit/bean/beanAudit.vue"),
meta: { permissionId: [42,43,44,45,46,47] } // 对应"查看充值审核"id=11、"充值审批"id=12
},
]
}, },
@ -69,21 +78,21 @@ const routes = [
name: "coinConsume", name: "coinConsume",
component: () => import("../views/consume/gold/coinConsume.vue"), component: () => import("../views/consume/gold/coinConsume.vue"),
// redirect: '/coinConsume/add', // redirect: '/coinConsume/add',
meta: { permissionId: 6 },
meta: { permissionId: 19 },
children: [ children: [
// 金币新增消耗 // 金币新增消耗
{ {
path: 'add', path: 'add',
name: "addCoinConsume", name: "addCoinConsume",
component: () => import("../views/consume/gold/addCoinConsume.vue"), component: () => import("../views/consume/gold/addCoinConsume.vue"),
meta: { permissionId: 19 } // 对应"提交金币消耗"id=19
meta: { permissionId: 55 } // 对应"提交金币消耗"id=19
}, },
// 金币消耗明细详情 // 金币消耗明细详情
{ {
path: 'detail', path: 'detail',
name: "coinConsumeDetail", name: "coinConsumeDetail",
component: () => import("../views/consume/gold/coinConsumeDetail.vue"), component: () => import("../views/consume/gold/coinConsumeDetail.vue"),
meta: { permissionId: 20 } // 对应"查看金币消耗明细"id=20
meta: { permissionId: 56 } // 对应"查看金币消耗明细"id=20
} }
] ]
}, },
@ -92,35 +101,35 @@ const routes = [
path: '/beanConsume', path: '/beanConsume',
name: "beanConsume", name: "beanConsume",
component: () => import("../views/consume/bean/beanConsume.vue"), component: () => import("../views/consume/bean/beanConsume.vue"),
meta: { permissionId: 42 },
meta: { permissionId: 20 },
children: [ children: [
// 金豆新增消耗 // 金豆新增消耗
{ {
path: 'add', path: 'add',
name: "addBeanConsume", name: "addBeanConsume",
component: () => import("../views/consume/bean/addBeanConsume.vue"), component: () => import("../views/consume/bean/addBeanConsume.vue"),
meta: { permissionId: 49 } // 对应"提交金豆消耗"id=49
meta: { permissionId: 57 } // 对应"提交金豆消耗"id=49
}, },
// 直播 // 直播
{ {
path: 'live', path: 'live',
name: "liveStream", name: "liveStream",
component: () => import("../views/consume/bean/liveStream.vue"), component: () => import("../views/consume/bean/liveStream.vue"),
meta: { permissionId: 50 } // 对应"直播"id=50
meta: { permissionId: 58 } // 对应"直播"id=50
}, },
// 铁粉 // 铁粉
{ {
path: 'fan', path: 'fan',
name: "dieHardFan", name: "dieHardFan",
component: () => import("../views/consume/bean/dieHardFan.vue"), component: () => import("../views/consume/bean/dieHardFan.vue"),
meta: { permissionId: 51 } // 对应"铁粉"id=51
meta: { permissionId: 59 } // 对应"铁粉"id=51
}, },
// 文章视频 // 文章视频
{ {
path: 'article', path: 'article',
name: "articleVideo", name: "articleVideo",
component: () => import("../views/consume/bean/articleVideo.vue"), component: () => import("../views/consume/bean/articleVideo.vue"),
meta: { permissionId: 52 } // 对应"文章视频"id=52
meta: { permissionId: 60 } // 对应"文章视频"id=52
} }
] ]
@ -131,13 +140,14 @@ const routes = [
path: '/rate', path: '/rate',
name: "rate", name: "rate",
component: () => import("../views/managerecharge/rate.vue"), component: () => import("../views/managerecharge/rate.vue"),
meta: { permissionId: [15, 16] } // 对应"汇率查看"id=15、"汇率修改"id=16
meta: { permissionId: [16,48,49] } // 对应"汇率查看"id=15、"汇率修改"id=16
}, },
// 金币充值 // 金币充值
{ {
path: '/coinRecharge', path: '/coinRecharge',
name: "coinRecharge", name: "coinRecharge",
component: () => import("../views/recharge/gold/coinRecharge.vue"), component: () => import("../views/recharge/gold/coinRecharge.vue"),
meta: { permissionId: 17 },
// redirect: '/coinRecharge/add', // redirect: '/coinRecharge/add',
children: [ children: [
// 金币新增充值 // 金币新增充值
@ -145,14 +155,14 @@ const routes = [
path: 'add', path: 'add',
name: "addCoinRecharge", name: "addCoinRecharge",
component: () => import("../views/recharge/gold/addCoinRecharge.vue"), component: () => import("../views/recharge/gold/addCoinRecharge.vue"),
meta: { permissionId: 17 } // 对应"提交金币充值"id=17
meta: { permissionId: 50 } // 对应"提交金币充值"id=17
}, },
// 金币充值明细详情 // 金币充值明细详情
{ {
path: 'detail', path: 'detail',
name: "coinRechargeDetail", name: "coinRechargeDetail",
component: () => import("../views/recharge/gold/coinRechargeDetail.vue"), component: () => import("../views/recharge/gold/coinRechargeDetail.vue"),
meta: { permissionId: 18 } // 对应"查看金币充值明细"id=18
meta: { permissionId: 51 } // 对应"查看金币充值明细"id=18
} }
] ]
}, },
@ -163,58 +173,52 @@ const routes = [
name: "beanRecharge", name: "beanRecharge",
component: () => import("../views/recharge/bean/beanRecharge.vue"), component: () => import("../views/recharge/bean/beanRecharge.vue"),
// redirect: '/coinRecharge/add', // redirect: '/coinRecharge/add',
meta: { permissionId: 18 },
children: [ children: [
// 金豆新增充值 // 金豆新增充值
{ {
path: 'add', path: 'add',
name: "addBeanRecharge", name: "addBeanRecharge",
component: () => import("../views/recharge/bean/addBeanRecharge.vue"), component: () => import("../views/recharge/bean/addBeanRecharge.vue"),
meta: { permissionId: 46 } // 对应"提交金豆充值"id=46
meta: { permissionId: 52 } // 对应"提交金豆充值"id=46
}, },
// 金豆系统充值 // 金豆系统充值
{ {
path: 'system', path: 'system',
name: "beanSystemRecharge", name: "beanSystemRecharge",
component: () => import("../views/recharge/bean/beanSystemRecharge.vue"), component: () => import("../views/recharge/bean/beanSystemRecharge.vue"),
meta: { permissionId: 47 } // 对应"查看金豆系统充值明细"id=47
meta: { permissionId: 53 } // 对应"查看金豆系统充值明细"id=47
}, },
// 金豆线上充值 // 金豆线上充值
{ {
path: 'online', path: 'online',
name: "beanOnlineRecharge", name: "beanOnlineRecharge",
component: () => import("../views/recharge/bean/beanOnlineRecharge.vue"), component: () => import("../views/recharge/bean/beanOnlineRecharge.vue"),
meta: { permissionId: 48 } // 对应"查看金豆线上充值明细"id=48
meta: { permissionId: 54 } // 对应"查看金豆线上充值明细"id=48
} }
] ]
}, },
// 金币退款
// 金币退款
{ {
path: '/coinRefund', path: '/coinRefund',
name: "coinRefund", name: "coinRefund",
component: () => import("../views/refund/gold/coinRefund.vue"), component: () => import("../views/refund/gold/coinRefund.vue"),
// redirect: '/coinRefund/add',
meta: { permissionId: 7 },
meta: { permissionId: 9 },
children: [ children: [
// 金币新增退款 // 金币新增退款
{ {
path: 'add', path: 'add',
name: "addCoinRefund", name: "addCoinRefund",
component: () => import("../views/refund/gold/addCoinRefund.vue"), component: () => import("../views/refund/gold/addCoinRefund.vue"),
meta: { permissionId: 21 } // 对应"提交金币退款"id=21
meta: { permissionId: 61 }
}, },
// 金币退款明细详情 // 金币退款明细详情
{ {
path: 'detail', path: 'detail',
name: "coinRefundDetail", name: "coinRefundDetail",
component: () => import("../views/refund/gold/coinRefundDetail.vue"), component: () => import("../views/refund/gold/coinRefundDetail.vue"),
meta: { permissionId: 22 } // 对应"查看金币退款明细"id=22
},
{
path: 'addRefund',
name: "addNewCoinRefund",
component: () => import("../views/refund/gold/addNewCoinRefund.vue"),
meta: { permissionId: 58 }
meta: { permissionId: 62 }
} }
] ]
}, },
@ -224,36 +228,49 @@ const routes = [
path: '/usergold', path: '/usergold',
name: "usergold", name: "usergold",
component: () => import("../views/usergold/gold/clientCount.vue"), component: () => import("../views/usergold/gold/clientCount.vue"),
// redirect: '/usergold/detail',
meta: { permissionId: 8 },
meta: { permissionId: 10 },
children: [ children: [
// 金币明细 // 金币明细
{ {
path: 'detail', path: 'detail',
name: "clientCountDetail", name: "clientCountDetail",
component: () => import("../views/usergold/gold/clientCountDetail.vue"), component: () => import("../views/usergold/gold/clientCountDetail.vue"),
meta: { permissionId: 23 } // 对应"查看金币明细"id=23
meta: { permissionId: 63 }
}, },
// 金币余额 // 金币余额
{ {
path: 'balance', path: 'balance',
name: "clientCountBalance", name: "clientCountBalance",
component: () => import("../views/usergold/gold/clientCountBalance.vue"), component: () => import("../views/usergold/gold/clientCountBalance.vue"),
meta: { permissionId: 24 } // 对应"查看金币余额"id=24
meta: { permissionId: 64 }
}, },
] ]
}, },
{
path: 'userbean',
name: "userbean",
component: () => import("../views/usergold/bean/userbean.vue"),
meta: { permissionId: 45 }
},
// {
// path: 'userbean',
// name: "userbean",
// component: () => import("../views/usergold/bean/userbean.vue"),
// meta: { permissionId: 45 }
// },
{ {
path: '/history', path: '/history',
name: "history", name: "history",
component: () => import("../views/history/history.vue"), component: () => import("../views/history/history.vue"),
meta: { permissionId: [56, 57] }
meta: { permissionId: 12 },
children: [
// {
// path: 'newHistory',
// name: "newHistory",
// component: () => import("../views/history/newHistory.vue"),
// meta: { permissionId: 12 }
// },
// {
// path: 'oldHistory',
// name: "oldHistory",
// component: () => import("../views/history/oldHistory.vue"),
// meta: { permissionId: 12 }
// }
]
}, },
// 权限管理 // 权限管理
@ -261,21 +278,21 @@ const routes = [
path: '/permissions', path: '/permissions',
name: "permissions", name: "permissions",
component: () => import("../views/permissions/permissions.vue"), component: () => import("../views/permissions/permissions.vue"),
meta: { permissionId: 9 },
meta: { permissionId: 11 },
children: [ children: [
// 用户权限 // 用户权限
{ {
path: 'userPermission', path: 'userPermission',
name: "userPermission", name: "userPermission",
component: () => import("../views/permissions/userPermission.vue"), component: () => import("../views/permissions/userPermission.vue"),
meta: { permissionId: 25 }
meta: { permissionId: [24,65,66,67,68,69] }
}, },
// 角色权限 // 角色权限
{ {
path: 'rolePermission', path: 'rolePermission',
name: "rolePermission", name: "rolePermission",
component: () => import("../views/permissions/rolePermission.vue"), component: () => import("../views/permissions/rolePermission.vue"),
meta: { permissionId: 30 }
meta: { permissionId: [25,70,71,72] }
}, },
] ]
}, },
@ -368,6 +385,7 @@ router.beforeEach(async (to, from, next) => {
// 拿权限id // 拿权限id
userPermissionIds = getAllPermissionIds(menuTree.value) userPermissionIds = getAllPermissionIds(menuTree.value)
console.log("userPermissionIds",userPermissionIds)
// 2.4 权限验证(逻辑不变) // 2.4 权限验证(逻辑不变)
console.log('to.meta:', to.meta) console.log('to.meta:', to.meta)

7
src/utils/menuUtils.js

@ -43,14 +43,14 @@ export const getRoutePath = (menu) => {
// 路由映射表:key为接口menuName,value为对应路由路径 // 路由映射表:key为接口menuName,value为对应路由路径
const routeMap = { const routeMap = {
'工作台展示': '/workbench',
'工作台查看': '/workbench',
'金币管理': '/goldManage', '金币管理': '/goldManage',
'现金管理': '/moneyManage', '现金管理': '/moneyManage',
'金币审核': '/audit', '金币审核': '/audit',
'金豆审核': '/beanAudit', '金豆审核': '/beanAudit',
'汇率管理': '/rate',
'现金汇率': '/rate',
'金币充值': '/coinRecharge', '金币充值': '/coinRecharge',
@ -71,6 +71,9 @@ export const getRoutePath = (menu) => {
'金币客户账户明细': '/usergold', '金币客户账户明细': '/usergold',
'金豆客户账户明细': '/userbean', '金豆客户账户明细': '/userbean',
'用户管理': '/permissions/userPermission',
'角色管理': '/permissions/rolePermission',
}; };
// 未匹配的菜单默认使用id作为路由(可根据实际需求调整) // 未匹配的菜单默认使用id作为路由(可根据实际需求调整)

Loading…
Cancel
Save