From 20f9b3cf1fd065bb0441189fef440eebb923ea60 Mon Sep 17 00:00:00 2001 From: Rogee Date: Thu, 25 Dec 2025 14:33:23 +0800 Subject: [PATCH] refactor: portal admin routes to management --- frontend/portal/src/layout/AppMenu.vue | 10 ++++---- frontend/portal/src/router/index.js | 24 +++++++++---------- .../{admin => management}/ContentPublish.vue | 7 +++--- 3 files changed, 20 insertions(+), 21 deletions(-) rename frontend/portal/src/views/{admin => management}/ContentPublish.vue (98%) diff --git a/frontend/portal/src/layout/AppMenu.vue b/frontend/portal/src/layout/AppMenu.vue index 32d63bb..ef3a676 100644 --- a/frontend/portal/src/layout/AppMenu.vue +++ b/frontend/portal/src/layout/AppMenu.vue @@ -40,11 +40,11 @@ const model = ref([ { label: '租户管理', items: [ - { label: '概览', icon: 'pi pi-fw pi-chart-line', to: '/admin' }, - { label: '内容管理', icon: 'pi pi-fw pi-file', to: '/admin/contents' }, - { label: '订单管理', icon: 'pi pi-fw pi-list-check', to: '/admin/orders' }, - { label: '租户设置', icon: 'pi pi-fw pi-cog', to: '/admin/settings' }, - { label: '团队与权限', icon: 'pi pi-fw pi-users', to: '/admin/team' } + { label: '概览', icon: 'pi pi-fw pi-chart-line', to: '/management' }, + { label: '内容管理', icon: 'pi pi-fw pi-file', to: '/management/contents' }, + { label: '订单管理', icon: 'pi pi-fw pi-list-check', to: '/management/orders' }, + { label: '租户设置', icon: 'pi pi-fw pi-cog', to: '/management/settings' }, + { label: '团队与权限', icon: 'pi pi-fw pi-users', to: '/management/team' } ] }, { diff --git a/frontend/portal/src/router/index.js b/frontend/portal/src/router/index.js index 5c9d2f9..1bc26d8 100644 --- a/frontend/portal/src/router/index.js +++ b/frontend/portal/src/router/index.js @@ -46,18 +46,18 @@ const router = createRouter({ { path: 'tenant/apply/status', name: 'tenantApplyStatus', component: () => import('@/views/tenant/TenantApply.vue'), meta: { title: '创作者申请状态' } }, { path: 'tenant/switch', name: 'tenantSwitch', component: TitlePage, meta: { title: '租户切换' } }, - { path: 'admin', name: 'adminDashboard', component: TitlePage, meta: { title: '管理概览(仪表盘)' } }, - { path: 'admin/contents', name: 'adminContents', component: TitlePage, meta: { title: '内容列表(管理)' } }, - { path: 'admin/contents/new', name: 'adminContentNew', component: () => import('@/views/admin/ContentPublish.vue'), meta: { title: '内容发布' } }, - { path: 'admin/contents/:contentId/edit', name: 'adminContentEdit', component: TitlePage, meta: { title: '内容编辑' } }, - { path: 'admin/assets', name: 'adminAssets', component: TitlePage, meta: { title: '素材库' } }, - { path: 'admin/orders', name: 'adminOrders', component: TitlePage, meta: { title: '订单列表(管理)' } }, - { path: 'admin/orders/:orderId', name: 'adminOrderDetail', component: TitlePage, meta: { title: '订单详情(管理)' } }, - { path: 'admin/tenants', name: 'adminTenants', component: TitlePage, meta: { title: '租户列表(管理)' } }, - { path: 'admin/settings', name: 'adminSettings', component: TitlePage, meta: { title: '租户设置' } }, - { path: 'admin/team', name: 'adminTeam', component: TitlePage, meta: { title: '团队成员与权限' } }, - { path: 'admin/audit-logs', name: 'adminAuditLogs', component: TitlePage, meta: { title: '操作日志' } }, - { path: 'admin/finance', name: 'adminFinance', component: TitlePage, meta: { title: '财务结算/提现' } } + { path: 'management', name: 'managementDashboard', component: TitlePage, meta: { title: '管理概览(仪表盘)' } }, + { path: 'management/contents', name: 'managementContents', component: TitlePage, meta: { title: '内容列表(管理)' } }, + { path: 'management/contents/new', name: 'managementContentNew', component: () => import('@/views/management/ContentPublish.vue'), meta: { title: '内容发布' } }, + { path: 'management/contents/:contentId/edit', name: 'managementContentEdit', component: TitlePage, meta: { title: '内容编辑' } }, + { path: 'management/assets', name: 'managementAssets', component: TitlePage, meta: { title: '素材库' } }, + { path: 'management/orders', name: 'managementOrders', component: TitlePage, meta: { title: '订单列表(管理)' } }, + { path: 'management/orders/:orderId', name: 'managementOrderDetail', component: TitlePage, meta: { title: '订单详情(管理)' } }, + { path: 'management/tenants', name: 'managementTenants', component: TitlePage, meta: { title: '租户列表(管理)' } }, + { path: 'management/settings', name: 'managementSettings', component: TitlePage, meta: { title: '租户设置' } }, + { path: 'management/team', name: 'managementTeam', component: TitlePage, meta: { title: '团队成员与权限' } }, + { path: 'management/audit-logs', name: 'managementAuditLogs', component: TitlePage, meta: { title: '操作日志' } }, + { path: 'management/finance', name: 'managementFinance', component: TitlePage, meta: { title: '财务结算/提现' } } ] }, diff --git a/frontend/portal/src/views/admin/ContentPublish.vue b/frontend/portal/src/views/management/ContentPublish.vue similarity index 98% rename from frontend/portal/src/views/admin/ContentPublish.vue rename to frontend/portal/src/views/management/ContentPublish.vue index 282da48..49160e4 100644 --- a/frontend/portal/src/views/admin/ContentPublish.vue +++ b/frontend/portal/src/views/management/ContentPublish.vue @@ -105,13 +105,13 @@ async function submit() { detail: `内容已进入审核(ID: ${payload?.content?.id || '-'})`, life: 2500 }); - await router.push('/admin/contents'); + await router.push('/management/contents'); } catch (err) { const status = err?.status; const msg = String(err?.payload?.message || err?.payload?.error || err?.message || '').trim(); if (status === 401) { toast.add({ severity: 'warn', summary: '请先登录', detail: '登录后再提交发布', life: 2500 }); - const redirect = typeof route.fullPath === 'string' ? route.fullPath : '/admin/contents/new'; + const redirect = typeof route.fullPath === 'string' ? route.fullPath : '/management/contents/new'; await router.push(`/auth/login?redirect=${encodeURIComponent(redirect)}`); return; } @@ -123,7 +123,7 @@ async function submit() { onMounted(async () => { if (!isLoggedIn.value) { - const redirect = typeof route.fullPath === 'string' ? route.fullPath : '/admin/contents/new'; + const redirect = typeof route.fullPath === 'string' ? route.fullPath : '/management/contents/new'; await router.push(`/auth/login?redirect=${encodeURIComponent(redirect)}`); } }); @@ -206,4 +206,3 @@ onMounted(async () => { -