20260803225403

This commit is contained in:
oneao committed 2026-08-03 22:54:03 +08:00
1 parent efd5a2bc93
commit e17bbe9db3
40 files changed
+5516 -3910

No files matched your search

+2 -2
View File
@@ -34,11 +34,11 @@ router.beforeEach(async (to) => {
return getRedirectPath(to.query.redirect);
}
if (to.meta.moduleId) {
if (to.meta.requiresAuth && to.path !== "/dashboard" && to.path !== "/") {
const permissionStore = usePermissionStore();
try {
await permissionStore.load();
if (!permissionStore.canAccess(to.meta.moduleId)) {
if (!permissionStore.canAccessRoute(to.path)) {
message.warning("没有该模块的访问权限");
return false;
}
@@ -0,0 +1,20 @@
const pageComponents = Object.freeze({
dashboard: () => import("@/views/dashboard/index.vue"),
base_othercompany: () => import("@/views/base/othercompany/index.vue"),
base_contact: () => import("@/views/base/contact/index.vue"),
base_otherdata: () => import("@/views/base/otherdata/index.vue"),
module_management: () => import("@/views/module-management/index.vue"),
i18n_type: () => import("@/views/system/i18n-type/index.vue"),
login_log: () => import("@/views/system/login-log/index.vue"),
user_management: () => import("@/views/system/user/index.vue"),
});
export function getPageComponent(componentKey) {
const component = pageComponents[componentKey];
if (!component) throw new Error(`未注册的页面组件:${componentKey}`);
return component;
}
export function hasPageComponent(componentKey) {
return Object.hasOwn(pageComponents, componentKey);
}
+10 -8
View File
@@ -1,3 +1,5 @@
import { getPageComponent } from "./pageComponents";
const routes = [
{
path: "/",
@@ -11,13 +13,13 @@ const routes = [
{
path: "dashboard",
name: "dashboard",
component: () => import("@/views/dashboard/index.vue"),
component: getPageComponent("dashboard"),
meta: { title: "工作台", menuKey: "/dashboard" },
},
{
path: "base/othercompany",
name: "base-othercompany",
component: () => import("@/views/base/othercompany/index.vue"),
component: getPageComponent("base_othercompany"),
meta: {
title: "合作伙伴",
section: "基础数据",
@@ -28,7 +30,7 @@ const routes = [
{
path: "base/contact",
name: "base-contact",
component: () => import("@/views/base/contact/index.vue"),
component: getPageComponent("base_contact"),
meta: {
title: "联系人",
section: "基础数据",
@@ -39,7 +41,7 @@ const routes = [
{
path: "base/otherdata",
name: "base-otherdata",
component: () => import("@/views/base/otherdata/index.vue"),
component: getPageComponent("base_otherdata"),
meta: {
title: "其他数据",
section: "基础数据",
@@ -50,7 +52,7 @@ const routes = [
{
path: "system/module-management",
name: "system-module-management",
component: () => import("@/views/module-management/index.vue"),
component: getPageComponent("module_management"),
meta: {
title: "模块管理",
section: "系统管理",
@@ -61,7 +63,7 @@ const routes = [
{
path: "system/i18n-type",
name: "system-i18n-type",
component: () => import("@/views/system/i18n-type/index.vue"),
component: getPageComponent("i18n_type"),
meta: {
title: "多语言类型",
section: "系统管理",
@@ -72,7 +74,7 @@ const routes = [
{
path: "system/login-log",
name: "system-login-log",
component: () => import("@/views/system/login-log/index.vue"),
component: getPageComponent("login_log"),
meta: {
title: "登录日志",
section: "系统管理",
@@ -83,7 +85,7 @@ const routes = [
{
path: "system/user",
name: "system-user",
component: () => import("@/views/system/user/index.vue"),
component: getPageComponent("user_management"),
meta: {
title: "用户管理",
section: "系统管理",