From 38406a926e1062a751ebd96e1fd85ee886b5a64e Mon Sep 17 00:00:00 2001
From: litian <2804272236@qq.com>
Date: 星期二, 18 六月 2024 11:01:28 +0800
Subject: [PATCH] login

---
 src/plugin/axios/index.ts         |   25 +++--
 src/views/readerPages/webHome.vue |  147 +++++++++++++++++++++++++++++++-----
 src/assets/js/config.ts           |    2 
 src/main.ts                       |   11 ++
 4 files changed, 151 insertions(+), 34 deletions(-)

diff --git a/src/assets/js/config.ts b/src/assets/js/config.ts
index 08fadd0..c6832f7 100644
--- a/src/assets/js/config.ts
+++ b/src/assets/js/config.ts
@@ -8,3 +8,5 @@
 export const goodsStore = `defaultGoodsStore${appId}`; // 榛樿鍟嗗搧搴�(涔﹀煄)
 export const digitalTextbooks = "jsek_digitalTextbooks";//鏁板瓧鏁欐潗
 
+export const loginCtx = "http://jsysf.bnuic.com/home/#/digitalTextbooks?login=true"; //鐧诲綍閾炬帴
+
diff --git a/src/main.ts b/src/main.ts
index 8a1e974..de5d30d 100644
--- a/src/main.ts
+++ b/src/main.ts
@@ -10,6 +10,7 @@
 import toolClass from '@/assets/js/toolClass'
 import MG from '@/assets/js/middleGround/WebMiddleGroundApi.js'
 import './child.ts'
+import { loginCtx } from '@/assets/js/config.ts'
 
 const handleGetToken = () => {
   return localStorage.getItem('token')
@@ -17,6 +18,16 @@
 
 // 璺敱鎵ц涔嬪墠鐨勪竴浜涙搷浣�
 router.beforeEach((to, from, next) => {
+  console.log(to, from)
+  const isInternalLink = from.fullPath.includes('/testBookReader')
+  if (isInternalLink) {
+    console.log('閫氳繃鍐呴儴閾炬帴杩涘叆椤圭洰')
+    sessionStorage.removeItem('loginCtx')
+  } else {
+    console.log(loginCtx, '閫氳繃澶栭儴閾炬帴杩涘叆椤圭洰')
+    sessionStorage.setItem('loginCtx', loginCtx)
+  }
+
   next()
   // if (handleGetToken()) {
   //   // 鏄惁鏄櫥褰曢〉闈紝鐩存帴鍒伴椤�
diff --git a/src/plugin/axios/index.ts b/src/plugin/axios/index.ts
index 5a9ed77..7fe0689 100644
--- a/src/plugin/axios/index.ts
+++ b/src/plugin/axios/index.ts
@@ -25,28 +25,31 @@
 // 鍝嶅簲鎷︽埅鍣�
 service.interceptors.response.use(
   (response) => {
-    
     if (response.status == 200) {
       if (response.request.responseURL.indexOf('/FileDownload') > -1) {
-        return response.data;
+        return response.data
       }
-      return response.data.data;
+      return response.data.data
     }
   },
   (error) => {
-    let msg = '璇锋眰鍙戠敓閿欒';
-    if ((error.response && error.response.status == 401) || error.code == "ERR_NETWORK") {
-      localStorage.removeItem("token")
-      localStorage.removeItem("userInfo")
-      router.replace({
-        path: '/login'
-      })
+    let msg = '璇锋眰鍙戠敓閿欒'
+    if ((error.response && error.response.status == 401) || error.code == 'ERR_NETWORK') {
+      localStorage.removeItem('token')
+      localStorage.removeItem('userInfo')
+      if (localStorage.getItem('loginCtx')) {
+        window.open(localStorage.getItem('loginCtx'))
+      } else {
+        router.replace({
+          path: '/login'
+        })
+      }
     } else {
       if (error.response && error.response.data) {
         msg = error.response.data.msg
       }
     }
-    throw msg;
+    throw msg
   }
 )
 
diff --git a/src/views/readerPages/webHome.vue b/src/views/readerPages/webHome.vue
index b8b0ceb..5447ef1 100644
--- a/src/views/readerPages/webHome.vue
+++ b/src/views/readerPages/webHome.vue
@@ -119,17 +119,29 @@
             </div>
           </div>
           <div v-if="activeMenu == '棰樺簱'" class="resourceTab">
-            <div class="tabItem hover" @click="selectExercisesType('exercises')" v-if="bookConfig.textbookComponents.indexOf('3D3B4F55') > -1">
+            <div
+              class="tabItem hover"
+              @click="selectExercisesType('exercises')"
+              v-if="bookConfig.textbookComponents.indexOf('3D3B4F55') > -1"
+            >
               <div>涔犻</div>
               <div :class="exercisesType == 'exercises' ? 'text' : 'line'"></div>
             </div>
-            <hr class="hr" v-if="bookConfig.textbookComponents.indexOf('AFC1A288') > -1"/>
-            <div class="tabItem hover" @click="selectExercisesType('wrong')" v-if="bookConfig.textbookComponents.indexOf('AFC1A288') > -1">
+            <hr class="hr" v-if="bookConfig.textbookComponents.indexOf('AFC1A288') > -1" />
+            <div
+              class="tabItem hover"
+              @click="selectExercisesType('wrong')"
+              v-if="bookConfig.textbookComponents.indexOf('AFC1A288') > -1"
+            >
               <div>閿欓鏈�</div>
               <div :class="exercisesType == 'wrong' ? 'text' : 'line'"></div>
             </div>
-            <hr class="hr" v-if="bookConfig.textbookComponents.indexOf('A434F2C0') > -1"/>
-            <div class="tabItem hover" @click="selectExercisesType('collection')" v-if="bookConfig.textbookComponents.indexOf('A434F2C0') > -1">
+            <hr class="hr" v-if="bookConfig.textbookComponents.indexOf('A434F2C0') > -1" />
+            <div
+              class="tabItem hover"
+              @click="selectExercisesType('collection')"
+              v-if="bookConfig.textbookComponents.indexOf('A434F2C0') > -1"
+            >
               <div>鏀惰棌</div>
               <div :class="exercisesType == 'collection' ? 'text' : 'line'"></div>
             </div>
@@ -1177,9 +1189,15 @@
       <newWord :resourceUrl="resourceUrl" />
     </div>
   </el-dialog>
-  <el-dialog title="閿欓鏈�" align-center v-model="wrongQuestionVisble" width="800" class="myDialogs">
+  <el-dialog
+    title="閿欓鏈�"
+    align-center
+    v-model="wrongQuestionVisble"
+    width="800"
+    class="myDialogs"
+  >
     <div class="wendabox">
-      <wrongQuestion  />
+      <wrongQuestion />
     </div>
   </el-dialog>
 </template>
@@ -1543,7 +1561,10 @@
     {
       name: '棰樺簱',
       icon: question,
-      isShow: bookConfig.value.textbookComponents.indexOf('3D3B4F55') > -1 || bookConfig.value.textbookComponents.indexOf('AFC1A288') > -1 || bookConfig.value.textbookComponents.indexOf('A434F2C0') > -1
+      isShow:
+        bookConfig.value.textbookComponents.indexOf('3D3B4F55') > -1 ||
+        bookConfig.value.textbookComponents.indexOf('AFC1A288') > -1 ||
+        bookConfig.value.textbookComponents.indexOf('A434F2C0') > -1
     }
   ]
   teachToolsMenuData = [
@@ -1953,7 +1974,13 @@
       type: 'warning'
     })
       .then(() => {
-        router.push('/login')
+        if (sessionStorage.getItem('loginCtx')) {
+          window.open(sessionStorage.getItem('loginCtx'))
+        } else {
+          router.replace({
+            path: '/login'
+          })
+        }
       })
       .catch(() => {})
   }
@@ -2072,7 +2099,13 @@
       type: 'warning'
     })
       .then(() => {
-        router.push('/login')
+        if (sessionStorage.getItem('loginCtx')) {
+          window.open(sessionStorage.getItem('loginCtx'))
+        } else {
+          router.replace({
+            path: '/login'
+          })
+        }
       })
       .catch(() => {})
   }
@@ -2085,9 +2118,9 @@
   searchText.value = ''
   if (type == 'exercises') {
     getExercisesList()
-  } else if(type == 'wrong'){
+  } else if (type == 'wrong') {
     questionList.value = []
-  }else{
+  } else {
     questionList.value = []
   }
 }
@@ -2444,7 +2477,13 @@
       type: 'warning'
     })
       .then(() => {
-        router.push('/login')
+        if (sessionStorage.getItem('loginCtx')) {
+          window.open(sessionStorage.getItem('loginCtx'))
+        } else {
+          router.replace({
+            path: '/login'
+          })
+        }
       })
       .catch(() => {})
   }
@@ -2683,7 +2722,13 @@
       type: 'warning'
     })
       .then(() => {
-        router.push('/login')
+        if (sessionStorage.getItem('loginCtx')) {
+          window.open(sessionStorage.getItem('loginCtx'))
+        } else {
+          router.replace({
+            path: '/login'
+          })
+        }
       })
       .catch(() => {})
   }
@@ -2723,7 +2768,13 @@
       type: 'warning'
     })
       .then(() => {
-        router.push('/login')
+        if (sessionStorage.getItem('loginCtx')) {
+          window.open(sessionStorage.getItem('loginCtx'))
+        } else {
+          router.replace({
+            path: '/login'
+          })
+        }
       })
       .catch(() => {})
   }
@@ -2797,7 +2848,13 @@
       type: 'warning'
     })
       .then(() => {
-        router.push('/login')
+        if (sessionStorage.getItem('loginCtx')) {
+          window.open(sessionStorage.getItem('loginCtx'))
+        } else {
+          router.replace({
+            path: '/login'
+          })
+        }
       })
       .catch(() => {})
   }
@@ -2902,7 +2959,13 @@
       type: 'warning'
     })
       .then(() => {
-        router.push('/login')
+        if (sessionStorage.getItem('loginCtx')) {
+          window.open(sessionStorage.getItem('loginCtx'))
+        } else {
+          router.replace({
+            path: '/login'
+          })
+        }
       })
       .catch(() => {})
   }
@@ -3103,7 +3166,13 @@
       type: 'warning'
     })
       .then(() => {
-        router.push('/login')
+        if (sessionStorage.getItem('loginCtx')) {
+          window.open(sessionStorage.getItem('loginCtx'))
+        } else {
+          router.replace({
+            path: '/login'
+          })
+        }
       })
       .catch(() => {
         showToolBox.value = false
@@ -3203,7 +3272,13 @@
       type: 'warning'
     })
       .then(() => {
-        router.push('/login')
+        if (sessionStorage.getItem('loginCtx')) {
+          window.open(sessionStorage.getItem('loginCtx'))
+        } else {
+          router.replace({
+            path: '/login'
+          })
+        }
       })
       .catch(() => {})
   }
@@ -3287,7 +3362,13 @@
       type: 'warning'
     })
       .then(() => {
-        router.push('/login')
+        if (sessionStorage.getItem('loginCtx')) {
+          window.open(sessionStorage.getItem('loginCtx'))
+        } else {
+          router.replace({
+            path: '/login'
+          })
+        }
       })
       .catch(() => {})
   }
@@ -3368,7 +3449,13 @@
       type: 'warning'
     })
       .then(() => {
-        router.push('/login')
+        if (sessionStorage.getItem('loginCtx')) {
+          window.open(sessionStorage.getItem('loginCtx'))
+        } else {
+          router.replace({
+            path: '/login'
+          })
+        }
       })
       .catch(() => {})
   }
@@ -3648,11 +3735,25 @@
 const layoutBtn = () => {
   localStorage.removeItem('token')
   localStorage.removeItem('userInfo')
-  router.push('/login')
+  // router.push('/login')
+  if (sessionStorage.getItem('loginCtx')) {
+    window.open(sessionStorage.getItem('loginCtx'))
+  } else {
+    router.replace({
+      path: '/login'
+    })
+  }
 }
 const goLogin = () => {
   localStorage.removeItem('userInfo')
-  router.push('/login')
+  // router.push('/login')
+  if (sessionStorage.getItem('loginCtx')) {
+    window.open(sessionStorage.getItem('loginCtx'))
+  } else {
+    router.replace({
+      path: '/login'
+    })
+  }
 }
 </script>
 

--
Gitblit v1.9.1