林旭祥 před 1 měsícem
rodič
revize
9a258aaa33

+ 12 - 3
src/api/request.ts

@@ -29,7 +29,10 @@ service.interceptors.request.use(
       } else {
         router.push('/login');
       }
-      localStorage.clear();
+      //清空缓存
+      // localStorage.clear();
+      localStorage.removeItem('token');
+      localStorage.removeItem('userInfo');
       ElMessage({ message: message, type: 'error', duration: 5 * 1000 });
       return Promise.reject(message);
     }
@@ -72,7 +75,10 @@ service.interceptors.response.use(
       } else {
         router.push('/login');
       }
-      localStorage.clear();
+      //清空缓存
+      // localStorage.clear();
+      localStorage.removeItem('token');
+      localStorage.removeItem('userInfo');
       ElMessage({ message: message, type: 'error', duration: 5 * 1000 });
       return Promise.reject('凭证已过期,请重新登录!');
     } else if (status == 500) {
@@ -88,7 +94,10 @@ service.interceptors.response.use(
     } else if (message.includes('timeout')) {
       message = '请求超时';
     } else if (response.status == 401) {
-      localStorage.clear();
+      //清空缓存
+      // localStorage.clear();
+      localStorage.removeItem('token');
+      localStorage.removeItem('userInfo');
       let deviceid = localStorage.getItem('deviceid');
       if (deviceid && router.currentRoute.value.path != '/login/qrcode') {
         router.push('/login/qrcode');

+ 3 - 1
src/views/gesture/index.vue

@@ -275,7 +275,9 @@ const getDevice = async () => {
     await proxy?.$http.common.logout({}).then((res: any) => {});
     proxy?.$modal?.closeLoading();
     //清空缓存
-    localStorage.clear();
+    // localStorage.clear();
+    localStorage.removeItem('token');
+    localStorage.removeItem('userInfo');
     //跳转
     router.push({ path: '/login/qrcode' });
   }

+ 2 - 1
src/views/login/index.vue

@@ -40,7 +40,8 @@ const router = useRouter();
 const data = reactive<any>({
   loginForm: {
     username: '',
-    password: ''
+    password: '',
+    deviceid: '',
   },
   loading: false,
   key: 0,

+ 16 - 3
src/views/login/sunshineRun.vue

@@ -27,6 +27,7 @@
 </template>
 
 <script setup name="Login" lang="ts">
+import CryptoJS from 'crypto-js';
 import useAppStore from '@/store/modules/app';
 const { proxy } = getCurrentInstance() as any;
 const router = useRouter();
@@ -59,7 +60,10 @@ const getLogin = () => {
     if (res.access_token) {
       //保存token
       let token = res.access_token;
+      let passwordStr = CryptoJS.AES.encrypt(password, 'trops').toString();
       localStorage.setItem("token", token);
+      localStorage.setItem('username', username);
+      localStorage.setItem('password', passwordStr);
       router.push({ path: '/sunshineRun' });
       getUserInfo();
     }
@@ -89,9 +93,18 @@ const getUserInfo = () => {
 
 onMounted(() => {
   //测试环境默认密码
-  if (import.meta.env.DEV) {
-    loginForm.value.username = 'manage1';
-    loginForm.value.password = 'trops@2022';
+  // if (import.meta.env.DEV) {
+  //   loginForm.value.username = 'manage1';
+  //   loginForm.value.password = 'trops@2022';
+  // }
+  let username = localStorage.getItem('username');
+  let password = localStorage.getItem('password');
+  if (username) {
+    loginForm.value.username = username;
+  }
+  if (password) {
+    let myPassword = CryptoJS.AES.decrypt(password, 'trops').toString(CryptoJS.enc.Utf8);
+    loginForm.value.password = myPassword;
   }
 })
 </script>

+ 6 - 2
src/views/sunshineRun/index.vue

@@ -140,7 +140,9 @@ const confirmExit = async () => {
     });
     proxy?.$modal?.closeLoading()
     //清空缓存
-    localStorage.clear();
+    // localStorage.clear();
+    localStorage.removeItem('token');
+    localStorage.removeItem('userInfo');
     //跳转
     router.push({ path: '/login/sunshineRun' });
   } else {
@@ -159,7 +161,9 @@ const confirmExit = async () => {
             });
             proxy?.$modal?.closeLoading()
             //清空缓存
-            localStorage.clear();
+            // localStorage.clear();
+            localStorage.removeItem('token');
+            localStorage.removeItem('userInfo');
             //跳转
             router.push({ path: '/login/sunshineRun' });
           } else {

+ 25 - 18
src/views/train/index.vue

@@ -113,24 +113,9 @@ const getClearTimer = () => {
 };
 
 /**
- * 初始化项目
+ * 获取设备信息
  */
-const getInitExam = () => {
-  getExam();
-  //定时刷新
-  timerManager.value.exam = setInterval(() => {
-    getExam();
-  }, 5000);
-};
-
-/**
- * 退出
- */
-const getExit = () => {
-  router.go(-1);
-};
-
-onBeforeMount(async () => {
+const getDeviceInfo = async () => {
   let deviceid = localStorage.getItem('deviceid') || '';
   if (deviceid) {
     //如果有设备就先查设备配置信息
@@ -149,7 +134,29 @@ onBeforeMount(async () => {
       .catch(() => {})
       .finally(() => {});
   }
-  getInitExam();
+};
+
+/**
+ * 初始化项目
+ */
+const getInitExam = () => {
+  getExam();
+  //定时刷新
+  timerManager.value.exam = setInterval(() => {
+    getExam();
+  }, 5000);
+};
+
+/**
+ * 退出
+ */
+const getExit = () => {
+  router.go(-1);
+};
+
+onBeforeMount(async () => {
+  await getDeviceInfo()
+  await getInitExam();
 });
 
 onBeforeUnmount(() => {

+ 3 - 1
src/views/train/multiple.vue

@@ -624,7 +624,9 @@ const getDevice = async () => {
     await proxy?.$http.common.logout({}).then((res: any) => {});
     proxy?.$modal?.closeLoading();
     //清空缓存
-    localStorage.clear();
+    // localStorage.clear();
+    localStorage.removeItem('token');
+    localStorage.removeItem('userInfo');
     //跳转
     router.push({ path: '/login/qrcode' });
   }

+ 3 - 1
src/views/train/test.vue

@@ -789,7 +789,9 @@ const getDevice = async () => {
     await proxy?.$http.common.logout({}).then((res: any) => {});
     proxy?.$modal?.closeLoading();
     //清空缓存
-    localStorage.clear();
+    // localStorage.clear();
+    localStorage.removeItem('token');
+    localStorage.removeItem('userInfo');
     //跳转
     router.push({ path: '/login/qrcode' });
   }