半自动+人工”链路已经落下第一版

This commit is contained in:
yml
2026-04-12 19:07:51 +08:00
parent 4c98b78267
commit 75647e9eed
24 changed files with 711 additions and 93 deletions
+16 -1
View File
@@ -1,5 +1,5 @@
import { createRouter, createWebHashHistory } from 'vue-router'
import { hasAdminSession } from '@/utils/admin-auth'
import { getAdminRole, hasAdminSession } from '@/utils/admin-auth'
const router = createRouter({
history: createWebHashHistory(),
@@ -42,6 +42,7 @@ const router = createRouter({
},
{
path: 'users',
meta: { allowedRoles: ['admin'] },
component: () => import('@/views/admin/AdminUsersView.vue'),
},
{
@@ -66,6 +67,7 @@ const router = createRouter({
},
{
path: 'inventory',
meta: { allowedRoles: ['admin', 'operator'] },
component: () => import('@/views/admin/AdminInventoryView.vue'),
},
{
@@ -74,22 +76,27 @@ const router = createRouter({
},
{
path: 'webhook-events',
meta: { allowedRoles: ['admin', 'operator'] },
component: () => import('@/views/admin/AdminWebhookEventsView.vue'),
},
{
path: 'platform-shops',
meta: { allowedRoles: ['admin'] },
component: () => import('@/views/admin/AdminPlatformShopsView.vue'),
},
{
path: 'platform-fulfillment',
meta: { allowedRoles: ['admin'] },
component: () => import('@/views/admin/AdminFulfillmentBindingsView.vue'),
},
{
path: 'webhook-events/:eventId',
meta: { allowedRoles: ['admin', 'operator'] },
component: () => import('@/views/admin/AdminWebhookEventDetailView.vue'),
},
{
path: 'audit-logs',
meta: { allowedRoles: ['admin'] },
component: () => import('@/views/admin/AdminAuditLogsView.vue'),
},
],
@@ -118,6 +125,14 @@ router.beforeEach((to) => {
return '/admin/login'
}
const allowedRoles = to.matched
.map((record) => (record.meta?.allowedRoles as string[] | undefined) || [])
.find((roles) => Array.isArray(roles) && roles.length > 0)
if (allowedRoles && !allowedRoles.includes(getAdminRole())) {
return '/admin/dashboard'
}
return true
})