Преглед на файлове

fix: 取token逻辑修改

zhangyi преди 1 година
родител
ревизия
c8fc411df7
променени са 2 файла, в които са добавени 39 реда и са изтрити 23 реда
  1. 7 2
      src/components/ResultPage.vue
  2. 32 21
      src/views/HomeView.vue

+ 7 - 2
src/components/ResultPage.vue

@@ -111,11 +111,16 @@ function sleepFun(logStr) {
 
 const getTaskList = async () => {
 
-  for (let i = 0; i < 100; i++) {
-    const token = getToken()
+  for (let i = 0; i < 30; i++) {
+    const token = sessionStorage.getItem('token')
+    // const token = getToken()
     if (token && token.length > 0) {
       break
     }
+
+    if (i === 29) {
+      return
+    }
     await sleepFun(i + 1)
   }
 

+ 32 - 21
src/views/HomeView.vue

@@ -1,42 +1,44 @@
 <template>
   <section
-    class="container"
-    v-loading="loginLoading"
-    :element-loading-svg="loadingIcon"
-    element-loading-background="rgba(5, 2, 11, 0.6)"
+      class="container"
+      v-loading="loginLoading"
+      :element-loading-svg="loadingIcon"
+      element-loading-background="rgba(5, 2, 11, 0.6)"
   >
     <section class="main flex">
       <nav class="siderbar">
-        <div class="nav-item center-center" :class="{'activeBg' : pageType === 'setting'}" @click="onChangeNav('setting')">
+        <div class="nav-item center-center" :class="{'activeBg' : pageType === 'setting'}"
+             @click="onChangeNav('setting')">
           <div class="icon icon1"></div>
         </div>
-        <div class="nav-item center-center" :class="{'activeBg' : pageType === 'viewImgList'}" @click="onChangeNav('viewImgList')">
+        <div class="nav-item center-center" :class="{'activeBg' : pageType === 'viewImgList'}"
+             @click="onChangeNav('viewImgList')">
           <div class="icon icon2"></div>
         </div>
       </nav>
       <div v-if="pageType === 'setting'" class="content-page flex flex1">
         <div class="content">
-          <StyleSetting :task-detail="taskDetail" />
+          <StyleSetting :task-detail="taskDetail"/>
         </div>
         <div class="right-content flex1">
-          <ResultPage :task-detail="taskDetail" @getTaskDetail="getTaskDetail" />
+          <ResultPage :task-detail="taskDetail" @getTaskDetail="getTaskDetail"/>
         </div>
       </div>
       <div v-if="pageType == 'viewImgList'" class="content-page flex felx1">
-        <TaskList @onGetTaskDetail="getTaskDetail" />
+        <TaskList @onGetTaskDetail="getTaskDetail"/>
       </div>
     </section>
   </section>
 </template>
 
 <script setup>
-import { reactive, ref, onMounted } from 'vue'
-import { useRoute } from 'vue-router'
+import {reactive, ref, onMounted} from 'vue'
+import {useRoute} from 'vue-router'
 import StyleSetting from '@/components/StyleSetting'
 import ResultPage from '@/components/ResultPage'
 import TaskList from '@/components/TaskList'
-import { postTaskDetail, postLogin } from '@/network/api/user'
-import { setToken, getToken } from '@/utils/auth'
+import {postTaskDetail, postLogin} from '@/network/api/user'
+// import {setToken, getToken, removeToken} from '@/utils/auth'
 import emitter from '@/utils/bus'
 
 const router = useRoute()
@@ -49,7 +51,7 @@ let taskDetail = reactive({
   task: {}
 })
 const getTaskDetail = async (id) => {
-  const res = await postTaskDetail({ ...id })
+  const res = await postTaskDetail({...id})
   if (res && res.code === 0) {
     onChangeNav('setting')
     emitter.emit('getDaskDetail', res.data)
@@ -61,26 +63,27 @@ const loadingIcon = '<svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/
 let loginLoading = ref(true)
 const login = async () => {
   loginLoading.value = true
-  const { timestamp, uid, md5 } = router.query
+  const {timestamp, uid, md5} = router.query
   sessionStorage.setItem('md5', md5)
   try {
-    const res = await postLogin({ timestamp: Number(timestamp), uid }, { md5 })
+    const res = await postLogin({timestamp: Number(timestamp), uid}, {md5})
     if (res && res.code === 0) {
       console.log(res)
       sessionStorage.setItem('token', res.data.token)
-      setToken(res.data.token)
+      // setToken(res.data.token)
       loginLoading.value = false
     } else {
+      // removeToken()
       loginLoading.value = false
     }
-  }catch(err) {
-    alert(1234)
+  } catch (err) {
+    // removeToken()
     loginLoading.value = false
   }
 }
 
 onMounted(() => {
-  const token = getToken()
+  sessionStorage.removeItem('token')
   login()
 })
 
@@ -91,40 +94,48 @@ onMounted(() => {
   background-color: #141416;
   height: 100%;
 }
+
 .siderbar {
   width: 78px;
   height: 100%;
   background-color: #222225;
   box-sizing: border-box;
+
   .nav-item {
     width: 52px;
     height: 51px;
     border-radius: 6px;
     margin: 30px auto 0;
   }
+
   .activeBg {
     background-color: #0234C2;
   }
+
   .icon {
     width: 36px;
     height: 32px;
     background-size: cover;
     background-repeat: no-repeat;
   }
+
   .icon1 {
     background-image: url(../assets/images/hui.png);
   }
+
   .icon2 {
     background-image: url(../assets/images/shou.png)
   }
 }
+
 .content {
   width: 39%;
   height: 100%;
   box-sizing: border-box;
   border-right: 1px solid var(--page-border-color);
 }
+
 .right-content {
   box-sizing: border-box;
 }
-</style>
+</style>