Forráskód Böngészése

退出程序后必须登录

Michael Wang 6 éve
szülő
commit
2e8036003b

+ 1 - 1
src/features/Login/Login.vue

@@ -135,7 +135,7 @@ export default {
         if (data.token) {
           this.errorInfo = "";
           //缓存用户信息
-          window.localStorage.setItem("token", data.token);
+          window.sessionStorage.setItem("token", data.token);
           window.localStorage.setItem("key", data.key);
           window.localStorage.setItem("domain", this.$route.params.domain);
 

+ 1 - 1
src/features/OfflineExam/OfflineExamUpload.vue

@@ -15,7 +15,7 @@ export default {
   data() {
     return {
       headers: {
-        token: window.localStorage.getItem("token"),
+        token: window.sessionStorage.getItem("token"),
         key: window.localStorage.getItem("key")
       },
       file: null,

+ 1 - 1
src/features/OnlineExam/OnlineExamList.vue

@@ -21,7 +21,7 @@
             <div style="display: grid; grid-template-columns:  repeat( auto-fit, minmax(100px, 1fr) ); grid-gap: 10px">
               <i-button class="qm-primary-button" :disabled="!courseInBetween(course) || course.allowExamCount < 1" @click="enterExam(course)">进入考试</i-button>
               <i-poptip trigger="hover" placement="left" class="online-exam-list-override-poptip">
-                <i-button class="qm-primary-button" style="width: 100%">客观分</i-button>
+                <i-button class="qm-primary-button" style="width: 100%" :disabled="!course.isObjScoreView">客观分</i-button>
                 <ecs-online-exam-result-list slot="content" :examStudentId="course.examStudentId"></ecs-online-exam-result-list>
               </i-poptip>
             </div>

+ 2 - 2
src/main.js

@@ -28,7 +28,7 @@ if (process.env.NODE_ENV !== "production") {
 if (process.env.NODE_ENV === "development") {
   console.log("非生产环境:准备自动登录");
   (async () => {
-    if (window.localStorage.getItem("token")) {
+    if (window.sessionStorage.getItem("token")) {
       console.log("非生产环境: 已有token,自动登录");
       return;
     }
@@ -48,7 +48,7 @@ if (process.env.NODE_ENV === "development") {
     });
     let data = await response.json();
     if (data.token) {
-      window.localStorage.setItem("token", data.token);
+      window.sessionStorage.setItem("token", data.token);
       window.localStorage.setItem("key", data.key);
       window.localStorage.setItem("domain", process.env.VUE_APP_LOGIN_DOMAIN);
 

+ 1 - 1
src/router.js

@@ -80,7 +80,7 @@ router.beforeEach((to, from, next) => {
   if (to.path.match(/^\/login\/.+$/)) {
     next();
   } else {
-    if (!window.localStorage.getItem("token")) {
+    if (!window.sessionStorage.getItem("token")) {
       if (!localStorage.getItem("domain")) {
         alert("地址出错,找不到机构!");
       }

+ 2 - 2
src/utils/axios.js

@@ -13,7 +13,7 @@ const qmInstance = axios.create({});
 /**
  * A. token lifecycle
  * 1. /login UI => localStorage.removeItem('token') && localStorage.setItem('token')
- * 2. non /login UI => axios if(!wk_token) wk_token = window.localStorage.getItem("token"), send request
+ * 2. non /login UI => axios if(!wk_token) wk_token = window.sessionStorage.getItem("token"), send request
  * 3. if axios request fail with 401/403, wk_token = null, redirect to /login removeItem('token')
  * 4. logout to /login, before send request, invalidate wk_token
  * */
@@ -23,7 +23,7 @@ qmInstance.interceptors.request.use(
   config => {
     if (config.url.includes("/login") === false) {
       if (!wk_token) {
-        wk_token = window.localStorage.getItem("token");
+        wk_token = window.sessionStorage.getItem("token");
         wk_key = window.localStorage.getItem("key");
       }
       if (wk_token && config.headers.common["token"] == null) {