Kaynağa Gözat

Merge branch 'master' of http://192.168.0.115:3000/chenzhiguang/FD_Pano

tremble 3 yıl önce
ebeveyn
işleme
581893dbfd
3 değiştirilmiş dosya ile 19 ekleme ve 17 silme
  1. 8 14
      src/Store/index.js
  2. 8 2
      src/pages/material.js
  3. 3 1
      src/utils/request.js

+ 8 - 14
src/Store/index.js

@@ -113,21 +113,15 @@ const store = new Vuex.Store({
     
   },
   actions: {
-    watchUserInfo(context) {
-      function cacheUserInfo() {
-        try {
-          const userInfo = JSON.parse(localStorage.getItem('info'))
-          context.commit('SetUserAvatar', userInfo.head)
-          context.commit('SetUserNickName', userInfo.nickName)
-        } catch (error) {
-          console.log(error)
-        }
+    refreshUserInfo(context) {
+      try {
+        const userInfo = JSON.parse(localStorage.getItem('info'))
+        context.commit('SetUserAvatar', userInfo.head)
+        context.commit('SetUserNickName', userInfo.nickName)
+      } catch (error) {
+        console.log(error)
       }
-
-      cacheUserInfo()
-      window.removeEventListener('store', cacheUserInfo)
-      window.addEventListener('storage', cacheUserInfo)
-    }
+    },
   },
   modules: {
 

+ 8 - 2
src/pages/material.js

@@ -5,7 +5,7 @@ import router from '../router/material'
 import store from '../Store'
 import 'viewerjs/dist/viewer.css'
 import Viewer from 'v-viewer'
-
+import { showLoginTips } from '@/utils/request'
 import { Button } from 'element-ui';
 Vue.component(Button.name, Button);
 
@@ -24,7 +24,13 @@ Vue.use(Viewer,{
 
 Vue.config.productionTip = false
 
-store.dispatch('watchUserInfo')
+window.addEventListener('store', () => {
+  console.log(localStorage.getItem('token'));
+  if (!localStorage.getItem('token')) {
+    showLoginTips()
+  }
+})
+
 
 new Vue({
   router,

+ 3 - 1
src/utils/request.js

@@ -13,6 +13,7 @@ import { base64ToBlob } from "./file";
 import { checkLogin } from "@/api";
 import { LoginDetector } from "@/utils/starter";
 import { $alert, $confirm } from "@/components/shared/message";
+import store from '@/Store'
 
 let vue = new Vue();
 
@@ -44,7 +45,7 @@ export const statusCode = {
 
 let __showNetworkError = false;
 
-const showLoginTips = () => {
+export const showLoginTips = () => {
   // 防止多次请求弹出
   if (showLoginTips.__is_show) {
     return;
@@ -65,6 +66,7 @@ const showLoginTips = () => {
     no: function() {
       checkLogin().then((response) => {
         if (response.code === statusCode.SUCCESS) {
+          store.dispatch('refreshUserInfo')
           postQueue.length && postQueue.forEach((item) => item());
           postQueue = [];
           LoginDetector.valid();