/* * @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;