195 lines
4.3 KiB
JavaScript
195 lines
4.3 KiB
JavaScript
/*
|
||
* @Author: Kane
|
||
* @Date: 2022-12-14 15:12:46
|
||
* @LastEditors: Kane
|
||
* @LastEditTime: 2023-02-04 22:36:13
|
||
* @FilePath: /IT工具综合平台/src/router/index.js
|
||
* @Description: 定义应用路由配置
|
||
*
|
||
* Copyright (c) ${2022} by Kane, All Rights Reserved.
|
||
*/
|
||
import { createRouter, createWebHashHistory } from 'vue-router';
|
||
|
||
const routes = [
|
||
//框架路由
|
||
{
|
||
path: "/",
|
||
name: "Root",
|
||
redirect: "Login", //默认路由指向登录页面
|
||
hidden: true,
|
||
},
|
||
{
|
||
path:"/error-page",
|
||
name: "ErrorPage",
|
||
hidden: true,
|
||
component: ()=> import("@/views/ErrorPage.vue"),
|
||
},
|
||
{
|
||
path: "/login",
|
||
name: "Login",
|
||
component: () => import("../views/account/Login.vue"),
|
||
hidden: true,
|
||
},
|
||
{
|
||
path: "/home",
|
||
name: "Home",
|
||
hidden: true,
|
||
meta: {
|
||
title: "控制台"
|
||
},
|
||
component: () => import("../layout/Index.vue"),
|
||
},
|
||
//侧边导航栏路由
|
||
{ //首页
|
||
path: "/console",
|
||
name: "Console",
|
||
meta: {
|
||
title: "总览",
|
||
icon: "house",
|
||
},
|
||
component: () => import("../layout/Index.vue"),
|
||
children: [
|
||
{
|
||
path: "/desktop",
|
||
name: "DeskTop",
|
||
meta: {
|
||
title: "工作台",
|
||
icon: "house",
|
||
},
|
||
component: () => import("../views/overview/Desktop.vue"),
|
||
},
|
||
],
|
||
},
|
||
{
|
||
//需求管理
|
||
path: "/requirement",
|
||
name: "Requirement",
|
||
meta: {
|
||
title: "需求管理",
|
||
icon: "Document",
|
||
},
|
||
component: () => import("../layout/Index.vue"),
|
||
children: [
|
||
{
|
||
path: "/requirement-manager",
|
||
name: "RequirementManager",
|
||
meta: {
|
||
title: "需求管理",
|
||
icon: "Document",
|
||
},
|
||
component: () => import("../views/requirement/RequirementManager.vue"),
|
||
},
|
||
{
|
||
path: "/requirement-editing",
|
||
name: "RequirementEditing",
|
||
hidden: true,
|
||
meta: {
|
||
title: "需求管理",
|
||
icon: "edit",
|
||
},
|
||
component: () => import("../views/requirement/RequirementEditing.vue"),
|
||
},
|
||
],
|
||
},
|
||
{//信息管理
|
||
path: "/privilege",
|
||
name: "Privilege",
|
||
meta: {
|
||
title: "权限管理",
|
||
icon: "User",
|
||
},
|
||
children: [
|
||
{
|
||
path: "/user-manager",
|
||
name: "UserManager",
|
||
meta: {
|
||
title: "用户管理",
|
||
icon: "User",
|
||
},
|
||
component: () => import("../views/privilege/StaffInfo.vue"),
|
||
},
|
||
{
|
||
path: "/privilege-manager",
|
||
name: "PrivilegeManager",
|
||
meta: {
|
||
title: "权限管理",
|
||
icon: "edit",
|
||
},
|
||
component: () => import("../views/privilege/PrivilegeManager.vue"),
|
||
},
|
||
],
|
||
component: () => import("../layout/Index.vue"),
|
||
},
|
||
{
|
||
path: "/network",
|
||
name: "NetworkManager",
|
||
meta: {
|
||
title: "网络管理",
|
||
icon: "switch",
|
||
},
|
||
component: () => import("../layout/Index.vue"),
|
||
children: [
|
||
{
|
||
path: "/network-point-manager",
|
||
name: "NetworkPointManager",
|
||
meta: {
|
||
title: "网络点管理",
|
||
icon: "Monitor",
|
||
},
|
||
component: () => import("../views/network/NetworkPoint/NetworkPoint.vue"),
|
||
},
|
||
{
|
||
path: "/network-point-edit",
|
||
name: "NetworkPointEdit",
|
||
hidden: true,
|
||
component: () => import("../views/network/NetworkPoint/EditNetworkPoint.vue"),
|
||
},
|
||
{
|
||
path: "/switch-manager",
|
||
name: "SwitchManager",
|
||
meta: {
|
||
title: "交换机管理",
|
||
icon: "switch",
|
||
},
|
||
component: () => import("../views/network/switch/SwitchManager.vue"),
|
||
}
|
||
],
|
||
},
|
||
];
|
||
|
||
const router = createRouter({
|
||
history: createWebHashHistory(),
|
||
routes
|
||
});
|
||
|
||
//前置路由守卫
|
||
router.beforeEach((to) =>
|
||
{
|
||
const token = window.localStorage.getItem("token");
|
||
|
||
//先检查token
|
||
if (!token)
|
||
{
|
||
//如果token不存在,判断路由是否走向login,如果不是则指向login
|
||
//走向login则不干预
|
||
if (to.name !== "Login")
|
||
{
|
||
return {
|
||
name: "Login",
|
||
};
|
||
}
|
||
}
|
||
|
||
//修改默认打开的页面,跳向工作台
|
||
// if (to.name === "Home")
|
||
// {
|
||
// console.log("跳向工作台");
|
||
|
||
// return {
|
||
// name: "DeskTop",
|
||
// };
|
||
// }
|
||
});
|
||
|
||
export default router;
|