Преглед изворни кода

优化登录、获取用户各种信息的逻辑

任一存 пре 2 година
родитељ
комит
8140332256
2 измењених фајлова са 17 додато и 20 уклоњено
  1. 1 7
      src/App.vue
  2. 16 13
      src/api.js

+ 1 - 7
src/App.vue

@@ -25,13 +25,7 @@ export default {
       document.body.classList.add('mobile')
     }
 
-    globalApi.checkLoginStatusAndProcess().then((isLogin) => {
-      if (isLogin) {
-        globalApi.fetchBadgeAndVisitData()
-      } else {
-
-      }
-    })
+    globalApi.checkLoginStatusAndProcess()
   },
   methods: {
   }

+ 16 - 13
src/api.js

@@ -3,6 +3,20 @@ import { encodeStr } from "@/utils/pass.js"
 import { Base64 } from "js-base64"
 import store from "@/store/index.js"
 
+async function fetchBadgeAndVisitData() {
+  const res = await axios({
+    method: 'get',
+    url: `${process.env.VUE_APP_API_PREFIX}/api/cms/question/getVisit`,
+    headers: {
+      token: store.state.token,
+    }
+  })
+  store.commit('setBadgeArchCurrent', res.data.data['1'])
+  store.commit('setBadgeHistoryCurrent', res.data.data['2'])
+  store.commit('setBadgeProtectorCurrent', res.data.data['3'])
+  store.commit('setVisitCount', res.data.visit)
+}
+
 export default {
   async login(userName, password) {
     const pwdEncrypted = encodeStr(Base64.encode(password))
@@ -20,6 +34,7 @@ export default {
       store.commit('setLoginStatus', true)
       store.commit('setToken', res.data.data.token)
       store.commit('setUserInfo', res.data.data.user)
+      await fetchBadgeAndVisitData()
     }
   },
   async logout() {
@@ -49,6 +64,7 @@ export default {
         store.commit('setLoginStatus', true)
         store.commit('setToken', lastToken)
         store.commit('setUserInfo', JSON.parse(lastUserInfoStr))
+        await fetchBadgeAndVisitData()
         return true
       } else {
         store.commit('logoutCallback')
@@ -75,17 +91,4 @@ export default {
       return
     }
   },
-  async fetchBadgeAndVisitData() {
-    const res = await axios({
-      method: 'get',
-      url: `${process.env.VUE_APP_API_PREFIX}/api/cms/question/getVisit`,
-      headers: {
-        token: store.state.token,
-      }
-    })
-    store.commit('setBadgeArchCurrent', res.data.data['1'])
-    store.commit('setBadgeHistoryCurrent', res.data.data['2'])
-    store.commit('setBadgeProtectorCurrent', res.data.data['3'])
-    store.commit('setVisitCount', res.data.visit)
-  },
 }