DR-CMS/src/router/index.js

81 lines
2.2 KiB
JavaScript
Raw Normal View History

import { createRouter, createWebHistory } from "vue-router"
2024-07-18 22:34:41 +08:00
import { useAdminStore } from "@/stores/admin/admin.js";
import { ElMessage } from "element-plus";
import TimeDR from "@/utils/TimeDR.js"
import LocalDR from "@/utils/LocalDR.js"
const routes= [
{
path: "/", //http://localhost:5173/
redirect: "/admin" //重定向
},
{
path: "/login", // http://localhost:5173/login
component: () => import("@/views/admin/login.vue")
},
{
path: "/admin", // http://localhost:5173/admin
component: () => import("@/views/admin/home.vue"),
meta: { requiresAuth: true }, //身份验证
2024-07-16 21:52:29 +08:00
children: [
//管理员
{
path: "administrator/add", // http://localhost:5173/admin/administrator/add
component: () => import("@/views/admin/administrator/add.vue")
},
{
path: "administrator/list", // http://localhost:5173/admin/administrator/list
component: () => import("@/views/admin/administrator/list.vue")
},
//类别管理
{
path: "category/list", // http://localhost:5173/admin/category/list
component: () => import("@/views/admin/category/list.vue")
},
]
}
]
const router = createRouter({
history: createWebHistory(),
routes
})
router.beforeEach((to, from, next) => {
// console.log(to.meta.requiresAuth)
if ( to.meta.requiresAuth ){
console.log("需要身份验证")
//初始化
const adminStore = useAdminStore()
if ( adminStore.data.token === "" ){
console.log("未登录")
router.push("/login")
}
2024-07-18 22:34:41 +08:00
let startTime = TimeDR.now()
let endTime = adminStore.data.exporeDate
let timeSubResult = TimeDR.timeSub(startTime,endTime)
console.log("timeSubResult:",timeSubResult)
if (timeSubResult.expire){
ElMessage.error("登录已过期,请重新登录")
LocalDR.remove("admin")
router.push("/login")
}
next()
}else{
console.log("不需要身份验证")
2024-07-18 22:34:41 +08:00
next()
}
2024-07-18 22:34:41 +08:00
})
export default router