20260903173038

This commit is contained in:
oneao committed 2026-09-03 17:30:39 +08:00
1 parent c8940f6e03
commit 0faf44cffc
55 files changed
+3278 -208

No files matched your search

+19 -6
View File
@@ -4,6 +4,7 @@ import 'nprogress/nprogress.css'
import DefaultLayout from '@/layouts/DefaultLayout.vue'
import { useAuthStore } from '@/stores/auth'
import { usePermissionStore } from '@/stores/permissions'
import { useLanguagesStore } from '@/stores/languages'
NProgress.configure({ showSpinner: false })
@@ -96,18 +97,25 @@ const router = createRouter({
},
// 模块管理:元数据驱动的模块配置中心(先静态路由,权限/动态菜单后续接入)
{
path: '/system/module-management',
name: 'system-module-management',
component: () => import('@/views/system/module-management/index.vue'),
path: '/module/module-management',
name: 'module-module-management',
component: () => import('@/views/module/module-management/index.vue'),
meta: { title: '模块管理', componentName: 'ModuleManagement' },
},
// 菜单管理:占位页面,待实现
{
path: '/system/menu-management',
name: 'system-menu-management',
component: () => import('@/views/system/menu-management/index.vue'),
path: '/module/menu-management',
name: 'module-menu-management',
component: () => import('@/views/module/menu-management/index.vue'),
meta: { title: '菜单管理', componentName: 'MenuManagement' },
},
// 多语言类型:系统支持的语言清单维护(s_i18n_type)
{
path: '/module/i18n-type',
name: 'module-i18n-type',
component: () => import('@/views/module/i18n-type/index.vue'),
meta: { title: '多语言类型', componentName: 'I18nTypeManagement' },
},
// 业务页面后续在此追加,配置 meta.moduleId 后自动走权限校验
],
},
@@ -139,6 +147,11 @@ router.beforeEach(async (to) => {
const permissionStore = usePermissionStore()
await permissionStore.load().catch(() => {})
// 业务数据多语言配置(s_i18n_type 语言清单):随权限一并加载,
// 供菜单/模块等多语言编辑读取;内部去重、失败不阻断页面
const languagesStore = useLanguagesStore()
await languagesStore.loadLanguages().catch(() => {})
const moduleId = to.meta.moduleId
if (moduleId && !permissionStore.canAccess(moduleId)) {
return '/dashboard'