Files
vue-learning/企业级管理系统/web/admin_system/src/router/index.js
2023-01-12 18:16:45 +08:00

130 lines
2.6 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/*
* @Author: Kane
* @Date: 2022-12-14 15:12:46
* @LastEditors: Kane
* @LastEditTime: 2023-01-12 14:52:09
* @FilePath: \admin_system\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: "/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",
},
children: [
{
path: "/desktop",
name: "DeskTop",
meta: {
title: "工作台",
icon: "house",
},
component: () => import("../views/overview/OverView.vue"),
},
],
component: () => import("../layout/Index.vue"),
},
{//信息管理
path: "/news",
name: "News",
meta: {
title: "信息管理",
icon: "edit",
},
children: [
{
path: "/staffInfo",
name: "StaffInfo",
meta: {
title: "人员信息",
icon: "edit",
},
component: () => import("../views/info/StaffInfo.vue"),
},
{
path: "/newsIndex",
name: "NewsIndex",
meta: {
title: "信息列表",
icon: "edit",
},
component: () => import("../views/news/News.vue"),
},
{
path: "/newsedit",
name: "NewsEdit",
meta: {
title: "信息编辑",
icon: "edit",
},
component: () => import("../views/news/NewsEdit.vue"),
},
],
component: () => import("../layout/Index.vue"),
},
{
path: "/user",
name: "User",
meta: {
title: "人员管理",
icon: "edit",
},
component: () => import("../layout/Index.vue"),
},
];
const router = createRouter({
history: createWebHashHistory(),
routes
});
//前置路由守卫
router.beforeEach((to) =>
{
const token = window.localStorage.getItem("token");
if (!token)
{
//如果token不存在判断路由是否走向login,如果不是则指向login
//走向login则不干预
if (to.name !== "Login")
{
return {
name: "Login",
};
}
}
});
export default router;