From fd4f992586b0436bc2665c371c34c142aec4bc53 Mon Sep 17 00:00:00 2001
From: guoshilong <123456>
Date: Tue, 30 Aug 2022 15:22:46 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.0.105:10010/r/zhny_web

---
 src/util/store.js            |   10 +++-
 src/permission.js            |   27 -------------
 src/store/modules/user.js    |   36 +++++++++++++++++-
 src/page/index/index.vue     |    1 
 src/page/index/top/index.vue |    2 
 src/page/login/userlogin.vue |   23 +++++++++++
 6 files changed, 66 insertions(+), 33 deletions(-)

diff --git a/src/page/index/index.vue b/src/page/index/index.vue
index 7e1ad9e..088601c 100644
--- a/src/page/index/index.vue
+++ b/src/page/index/index.vue
@@ -38,6 +38,7 @@
   import {validatenull} from "@/util/validate";
   import {calcDate} from "@/util/date.js";
   import {getStore} from "@/util/store.js";
+  import {Message} from "element-ui";
 
   export default {
     components: {
diff --git a/src/page/index/top/index.vue b/src/page/index/top/index.vue
index f6a128b..20bcf5a 100644
--- a/src/page/index/top/index.vue
+++ b/src/page/index/top/index.vue
@@ -87,7 +87,7 @@
                     ></i>
                 </div>
             </el-tooltip>
-            <img class="top-bar__img" :src="userInfo.avatar" />
+            <img class="top-bar__img" :src="'/zhny-web/' + userInfo.avatar" />
             <el-dropdown>
                 <span class="el-dropdown-link">
                     {{userInfo.userName}}
diff --git a/src/page/login/userlogin.vue b/src/page/login/userlogin.vue
index ac3c33b..2a1c180 100644
--- a/src/page/login/userlogin.vue
+++ b/src/page/login/userlogin.vue
@@ -72,8 +72,9 @@
 <script>
   import {mapGetters} from "vuex";
   import {info} from "@/api/system/tenant";
-  import {getCaptcha} from "@/api/user";
+  import {getCaptcha, loginInfoByToken} from "@/api/user";
   import {getTopUrl} from "@/util/util";
+  import {Message} from "element-ui";
 
   export default {
     name: "userlogin",
@@ -170,6 +171,11 @@
       this.refreshCode();
     },
     mounted() {
+      //统一登录有没有登录
+      const token = window.sessionStorage.getItem('token')
+      if (token) {
+        this.loginInfoByToken();
+      }
     },
     watch: {
       'loginForm.deptId'() {
@@ -263,6 +269,21 @@
             this.$parent.$refs.login.style.backgroundImage = `url(${data.data.backgroundUrl})`;
           }
         })
+      },
+      // 统一登陆获取用户
+      loginInfoByToken() {
+        const loading = this.$loading({
+          lock: true,
+          text: '登录中,请稍后。。。',
+          spinner: "el-icon-loading"
+        });
+        this.$store.dispatch("loginInfoByToken").then(() => {
+          this.$router.push({path: this.tagWel.value});
+          loading.close();
+        }).catch(() => {
+          loading.close();
+          this.refreshCode();
+        });
       }
     }
   };
diff --git a/src/permission.js b/src/permission.js
index 418ad23..2f88c34 100644
--- a/src/permission.js
+++ b/src/permission.js
@@ -8,8 +8,6 @@
 import {getToken} from '@/util/auth'
 import NProgress from 'nprogress' // progress bar
 import 'nprogress/nprogress.css' // progress bar style
-import {loginInfoByToken} from '@/api/user'
-import {Message} from "element-ui";
 NProgress.configure({showSpinner: false});
 const lockPage = store.getters.website.lockPage; //锁屏页
 router.beforeEach((to, from, next) => {
@@ -59,30 +57,7 @@
     if (meta.isAuth === false) {
       next()
     } else {
-      // 需要判断是否单点登录
-      let token = window.sessionStorage.getItem('token')
-      if (token) {
-        loginInfoByToken.then(res => {
-          const data = res.data;
-          if (data.error_description) {
-            Message({
-              message: data.error_description,
-              type: 'error'
-            })
-          } else {
-            this.$store.commit('SET_TOKEN', data.access_token);
-            this.$store.commit('SET_REFRESH_TOKEN', data.refresh_token);
-            this.$store.commit('SET_TENANT_ID', data.tenant_id);
-            this.$store.commit('SET_USER_INFO', data);
-            this.$store.commit('DEL_ALL_TAG');
-            this.$store.commit('CLEAR_LOCK');
-            next(to.path)
-          }
-
-        })
-      } else {
-        next('/login')
-      }
+      next('/login')
     }
   }
 })
diff --git a/src/store/modules/user.js b/src/store/modules/user.js
index 857110c..2fdc3b8 100644
--- a/src/store/modules/user.js
+++ b/src/store/modules/user.js
@@ -4,7 +4,15 @@
 import {isURL, validatenull} from '@/util/validate'
 import {deepClone} from '@/util/util'
 import website from '@/config/website'
-import {loginByUsername, loginBySocial, getUserInfo, logout, refreshToken, getButtons} from '@/api/user'
+import {
+  loginByUsername,
+  loginBySocial,
+  getUserInfo,
+  logout,
+  refreshToken,
+  getButtons,
+  loginInfoByToken
+} from '@/api/user'
 import {getTopMenu, getRoutes} from '@/api/system/menu'
 import md5 from 'js-md5'
 
@@ -46,6 +54,30 @@
     $farmId: 0
   },
   actions: {
+    loginInfoByToken({commit}) {
+      return new Promise((resolve,reject) => {
+        loginInfoByToken().then(res => {
+          const data = res.data
+          if (data.code == 200) {
+            commit('SET_TOKEN', data.data.access_token)
+            commit('SET_REFRESH_TOKEN', data.data.refresh_token)
+            commit('SET_TENANT_ID', data.data.tenant_id)
+            commit('SET_USER_INFO', data.data)
+            commit('DEL_ALL_TAG')
+            commit('CLEAR_LOCK')
+
+          } else {
+            Message({
+              message: data.error_description,
+              type: 'error'
+            })
+          }
+          resolve();
+        }).catch(error => {
+          reject(error);
+        })
+      })
+    },
     //根据用户名登录
     LoginByUsername({commit}, userInfo) {
       return new Promise((resolve, reject) => {
@@ -244,7 +276,7 @@
     },
     SET_USER_INFO: (state, userInfo) => {
       if (validatenull(userInfo.avatar)) {
-        userInfo.avatar = "/img/bg/mg.png";
+        userInfo.avatar = "/zhny-web/img/bg/mg.png";
       }
       state.userInfo = userInfo;
       setStore({name: 'userInfo', content: state.userInfo})
diff --git a/src/util/store.js b/src/util/store.js
index d4cb67d..a63a21e 100644
--- a/src/util/store.js
+++ b/src/util/store.js
@@ -13,9 +13,13 @@
         content,
         type,
     } = params;
-    if (name == 'token' || name == 'refreshToken') {
-        window.sessionStorage.setItem(name, content);
-        window.localStorage.setItem(name, content);
+    if (name == 'token') {
+        window.sessionStorage.setItem('token', content);
+        window.localStorage.setItem('token', content);
+    }
+    if (name == 'refreshToken') {
+        window.sessionStorage.setItem('refresh_token', content);
+        window.localStorage.setItem('refresh_token', content);
     }
     name = keyName + name
     let obj = {

--
Gitblit v1.9.3