tangjunhao 6 mesiacov pred
rodič
commit
a2223795e3
3 zmenil súbory, kde vykonal 20 pridanie a 3 odobranie
  1. 12 2
      src/router/index.js
  2. 1 1
      src/utils/request.ts
  3. 7 0
      src/utils/token.js

+ 12 - 2
src/router/index.js

@@ -6,6 +6,8 @@ import resultLeft from '@/view/result/resultLeft.vue';
 import resultRight from '@/view/result/resultRight.vue';
 const home = () => import("@/views/home/index.vue")
 import result from '@/view/result.vue';
+import { get } from "js-cookie";
+import { getToken2 } from "../utils/token";
 const router = createRouter({
     history: createWebHashHistory(),
     routes: [
@@ -121,8 +123,16 @@ const router = createRouter({
 //修改动态网页标题 beforeEach 导航钩子,路由改变前触发
 router.beforeEach((to,from,next) =>{
     //window.document.title = to.meta.title;
-    window.document.title = to.name;
-    next();
+    let token = getToken2();
+    console.log('守卫中Token:', token);
+    if (!token && to.name !== 'login') {
+      // 如果没有 token 并且目标不是登录页,则重定向到登录页
+      next({ name: 'login' });
+    } else {
+      window.document.title = to.name;
+      next();
+    }
+    
   })
 router.afterEach((to,from,next) =>{
     window.scrollTo(0,0);

+ 1 - 1
src/utils/request.ts

@@ -61,7 +61,7 @@ axios.interceptors.response.use(res => {
     if (data.returnCode == successCode) {
       return Promise.resolve(data)
     } else {
-      if (data.returnMsg === "用户验证失败!") {
+      if (data.returnMsg === "用户验证失败!"|| data.returnMsg == "系统没有登录或会话超时!") {
         removeToken();
         removeUserId();
         router.replace({ path: '/login' });

+ 7 - 0
src/utils/token.js

@@ -24,6 +24,13 @@ export function getToken() {
   }
   return Cookies.get(TokenKey);
 }
+
+// 获取 token,不生成新的 token
+export function getToken2() {
+  return Cookies.get(TokenKey);  // 仅从 Cookies 获取 token,不生成新的
+}
+
+
 // 设置token
 export function setToken(token) {
   return Cookies.set(TokenKey, token)