初始化项目

This commit is contained in:
Jiacheng Xu
2025-11-18 08:32:24 +08:00
commit 4f5f5c9d1b
49 changed files with 18604 additions and 0 deletions

115
src/router/index.js Normal file
View File

@@ -0,0 +1,115 @@
import { createRouter, createWebHistory } from 'vue-router';
import Home from '../pages/home/index.vue';
import Login from '../pages/login/index.vue';
import UserManage from '../pages/usermanage/index.vue';
import ComManage from '../pages/commanage/index.vue';
import ScopeManage from '../pages/scopemanage/index.vue';
import User from '../pages/user/index.vue';
import SwitchSelection from '../pages/switchselection/index.vue';
import PanelSelection from '../pages/panelselection/index.vue';
import Log from '../pages/log/index.vue';
import DicManage from '../pages/dicmanage/index.vue';
const routes = [
{
path: '/',
// 动态重定向到登录页或主页
redirect: () => {
const isAuthenticated = localStorage.getItem('token');
return isAuthenticated ? '/home' : '/login';
}
},
{
path: '/login',
name: '登录',
component: Login
},
{
path: '/home',
name: '主页',
component: Home,
meta: { requiresAuth: true } // 需要认证的路由
},
{
path: '/log',
name: '日志中心',
component: Log,
meta: { requiresAuth: true } // 需要认证的路由
},
{
path: '/usermanage',
name: '用户管理',
component: UserManage,
meta: { requiresAuth: true } // 需要认证的路由
},
{
path: '/commanage',
name: '组织管理',
component: ComManage,
meta: { requiresAuth: true } // 需要认证的路由
},
{
path: '/scopemanage',
name: '权限管理',
component: ScopeManage,
meta: { requiresAuth: true } // 需要认证的路由
},
{
path: '/dicmanage',
name: '字典管理',
component: DicManage,
meta: { requiresAuth: true } // 需要认证的路由
},
{
path: '/user',
name: '个人中心',
component: User,
meta: { requiresAuth: true } // 需要认证的路由
},
{
path: '/switchselection',
name: '开关选型',
component: SwitchSelection,
meta: { requiresAuth: true } // 需要认证的路由
},
{
path: '/panelselection',
name: '开关选型',
component: PanelSelection,
meta: { requiresAuth: true } // 需要认证的路由
},
{
path: '/:pathMatch(.*)*',
name: '404错误',
component: () => import('../pages/404/index.vue') // 404页面
},
];
const router = createRouter({
history: createWebHistory(),
routes
});
// 路由守卫
router.beforeEach((to, from, next) => {
const isAuthenticated = localStorage.getItem('token') // 用localStorage存储token
const username = localStorage.getItem('username') // 获取用户名
if (to.meta.requiresAuth && !isAuthenticated) {
// 如果需要认证且没有token则跳转到登录页面
next('/login')
} else if ((to.path == '/usermanage' || to.path == '/scopemanage') && (username != 'Admin' && username != 'MoMoWen')) {
// 如果访问的是用户管理页面但用户名不是Admin则跳转到主页
next('/home')
} else {
// 其他情况正常放行
sessionStorage.setItem('currentRoute', to.fullPath)
next()
}
})
export default router;