2024-07-14 20:47:02 +08:00
|
|
|
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"
|
|
|
|
|
2024-07-14 20:47:02 +08:00
|
|
|
const routes= [
|
2024-07-16 21:24:09 +08:00
|
|
|
{
|
|
|
|
path: "/", //http://localhost:5173/
|
|
|
|
redirect: "/admin" //重定向
|
|
|
|
},
|
2024-07-14 20:47:02 +08:00
|
|
|
{
|
|
|
|
path: "/login", // http://localhost:5173/login
|
|
|
|
component: () => import("@/views/admin/login.vue")
|
2024-07-15 21:44:05 +08:00
|
|
|
},
|
|
|
|
{
|
|
|
|
path: "/admin", // http://localhost:5173/admin
|
2024-07-15 21:54:19 +08:00
|
|
|
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")
|
|
|
|
},
|
|
|
|
|
|
|
|
]
|
2024-07-14 20:47:02 +08:00
|
|
|
}
|
|
|
|
]
|
|
|
|
|
|
|
|
const router = createRouter({
|
|
|
|
history: createWebHistory(),
|
|
|
|
routes
|
|
|
|
})
|
2024-07-15 21:54:19 +08:00
|
|
|
|
|
|
|
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()
|
|
|
|
|
2024-07-15 21:54:19 +08:00
|
|
|
}else{
|
|
|
|
console.log("不需要身份验证")
|
2024-07-18 22:34:41 +08:00
|
|
|
next()
|
2024-07-15 21:54:19 +08:00
|
|
|
}
|
2024-07-18 22:34:41 +08:00
|
|
|
|
2024-07-15 21:54:19 +08:00
|
|
|
})
|
|
|
|
|
|
|
|
|
|
|
|
|
2024-07-14 20:47:02 +08:00
|
|
|
export default router
|