Przeglądaj źródła

feat(登录状态): 添加登录状态检查及令牌失效处理

在Search.vue中添加localStorage用户信息检查,存在则跳转充值页
在request.js中处理令牌失效情况,清除用户信息并跳转首页
Shirley 1 tydzień temu
rodzic
commit
c28877e230
2 zmienionych plików z 27 dodań i 2 usunięć
  1. 9 2
      src/utils/request.js
  2. 18 0
      src/views/Search.vue

+ 9 - 2
src/utils/request.js

@@ -45,8 +45,15 @@ service.interceptors.response.use(
     if (res.code == 109) {
       Toast.fail("登录令牌失效");
       console.log("登录失效", res.message);
-      // 可以在这里添加跳转到登录页的逻辑
-      // window.location.href = '/login'
+      // 清除localStorage中的用户信息
+      localStorage.removeItem('userId');
+      localStorage.removeItem('userName');
+      localStorage.removeItem('avatar');
+      localStorage.removeItem('token');
+      localStorage.removeItem('integral');
+      localStorage.removeItem('canExchange');
+      // 跳转到搜索页
+      window.location.href = '/'
     } else if (res.code == 1100) {
       Dialog.alert({ message: res.message });
       console.log("弹窗提示", res.message);

+ 18 - 0
src/views/Search.vue

@@ -141,6 +141,24 @@ export default {
     }
   },
   created() {
+    // 检查localStorage中是否存在用户信息,如果存在则直接跳转到recharge
+    const userId = localStorage.getItem('userId')
+    const userName = localStorage.getItem('userName')
+    const avatar = localStorage.getItem('avatar')
+    const token = localStorage.getItem('token')
+    
+    if (userId && userName && token) {
+      this.$router.replace({
+        path: '/recharge',
+        query: {
+          id: userId,
+          nickname: userName,
+          avatar: avatar || ''
+        }
+      })
+      return
+    }
+    
     // 获取产品列表
     this.fetchProductList()
     if (this.paymentType === 'wechat') {