Sfoglia il codice sorgente

feat:小树微前端页面新增一个ping接口,如果出现token失效时,拦截到2.0页面

hanyang 1 anno fa
parent
commit
d20f83a29d
3 ha cambiato i file con 22 aggiunte e 2 eliminazioni
  1. 10 0
      src/apis/login.js
  2. 2 1
      src/base/ajax/back-to-login.js
  3. 10 1
      src/views/Xiaoshu.vue

+ 10 - 0
src/apis/login.js

@@ -102,3 +102,13 @@ export function uploadLogo(data) {
     headers: { 'Content-Type': 'multipart/form-data' }
   });
 }
+
+/**
+ * 查看token是否过期
+ * */
+export function pingUser() {
+  return request({
+    url: '/api/user/ping',
+    method: 'get'
+  });
+}

+ 2 - 1
src/base/ajax/back-to-login.js

@@ -13,7 +13,8 @@ const backToLogin = () => {
       onOk: () => {
         kuky_Authorization.remove();
         is_need_relogin.value = false;
-        router.push('/');
+        router.push('/login');
+        return;
       },
       onCancel: () => {
         is_need_relogin.value = false;

+ 10 - 1
src/views/Xiaoshu.vue

@@ -28,6 +28,8 @@ import { useCurrentUserStore } from '../base/store/use-current-user';
 import { getConfigField } from '../config/index';
 
 import { hasBtnPermission, hasRoutePermission } from '../utils/permission';
+import { pingUser } from '../apis/login';
+import { onUnmounted } from 'vue';
 
 const router = useRouter();
 
@@ -96,8 +98,12 @@ function getXiaoshuBackUrl() {
 
   return back_route;
 }
-
+let timer = null;
 onMounted(() => {
+  timer = setInterval(async () => {
+    const res = await pingUser();
+    console.log(res);
+  }, 5000);
   const currentUser = useCurrentUserStore();
 
   const token = currentUser.token;
@@ -307,4 +313,7 @@ onMounted(() => {
 
   is_mounted.value = true;
 });
+onUnmounted(() => {
+  clearInterval(timer);
+});
 </script>