ly-front/src/router/index.js

46 lines
1.2 KiB
JavaScript
Raw Normal View History

2025-03-31 15:26:29 +00:00
import Vue from "vue";
import VueRouter from "vue-router";
import index from "../views/index.vue";
Vue.use(VueRouter);
const routes = [
{
path: "/",
name: "home",
component: index,
beforeEnter: (to, from, next) => {
2025-06-18 15:08:37 +00:00
const expires = localStorage.getItem("expires");
const expiresTimestamp = new Date(expires).getTime();
const now = new Date().getTime();
if (expiresTimestamp && now > expiresTimestamp) {
// 登录已过期,执行自动退出操作
localStorage.removeItem("setToken");
localStorage.removeItem("expires");
next("/login");
}
const token = localStorage.getItem("setToken");
// 在导航到/dashboard路由之前执行的操作
if (!token) {
next("/login"); // 如果非管理员用户访问/dashboard则重定向到登录页面
} else {
next(); // 继续导航到/dashboard
}
2025-03-31 15:26:29 +00:00
}
},
{
path: "/login",
name: "login",
component: () => import("@/views/login/index.vue")
}
];
const router = new VueRouter({
2025-04-02 15:17:45 +00:00
mode: "hash",
2025-03-31 15:26:29 +00:00
base: "/",
routes
});
router.beforeEach((to, from, next) => {
next();
});
export default router;