Przeglądaj źródła

currentUser.isBind bug fixed

hare8999@163.com 2 lat temu
rodzic
commit
3a9378347f

+ 7 - 1
src/components/Top/index.vue

@@ -39,7 +39,7 @@
       </el-dropdown>
 
       <img class="icon16" :src="currentUser.avatar"/>
-      <a href="/user/info/userinfo">个人中心</a>
+      <a href="javascript:void(0)" @click="handleGoUserCenter">个人中心</a>
       <a style="padding-left:30px;color:#FB731F;" @click="LogOut">退出登录</a>
     </div>
   </div>
@@ -48,8 +48,10 @@
 <script>
 import { mapActions, mapGetters } from 'vuex'
 import { changeRole } from '@/api/login.js'
+import loginCheckMixin from '@/views/components/blocks/index-login-interceptor-mixin'
 
 export default {
+  mixins: [loginCheckMixin],
   data() {
     return {
       app: false
@@ -76,6 +78,10 @@ export default {
         //window.location.reload();
         window.location.href = '/login'
       })
+    },
+    async handleGoUserCenter() {
+      await this.loginCheck()
+      this.$router.push('/user/info/userinfo')
     }
   }
 }

+ 8 - 2
src/views/index/components/login-form-banner.vue

@@ -1,6 +1,6 @@
 <template>
   <div class="fx-row fx-end-cen login-form-container" style="padding: 100px 0;"
-    :style="{backgroundImage: `url(${$imgBase}index/login/banner.png)`} ">
+       :style="{backgroundImage: `url(${$imgBase}index/login/banner.png)`} ">
     <div class="bg-white" style="width:400px; padding:30px; margin-right: 150px;">
       <img style="width: 60%;margin-left:20%;" src="@/assets/images/login_logo.png"/>
       <div class="f-primary text-center mt20 mb40 bold f18" style="letter-spacing: 10px;">
@@ -56,7 +56,7 @@
                                                  src="@/assets/images/icon_jifen.png" alt/>
                                             {{ currentUser.points || 0 }}积分
                                         </span>
-          <span @click="$router.push('/user/info/userinfo')"
+          <span @click="handleGoUserCenter"
                 style="display:inline-block;width:33%;text-align:center;color:#4055F7;cursor:pointer">
                                             <img style="width: 16px;position: relative;top: 2px;margin-right: 5px;"
                                                  src="@/assets/images/icon_user.png" alt/>个人中心
@@ -75,8 +75,10 @@
 <script>
 /* TODO: 22.8.23 hht 这里为节省时间,全部由依赖注入主导,没有做逻辑分割 */
 import { mapGetters } from 'vuex'
+import loginCheckMixin from '@/views/components/blocks/index-login-interceptor-mixin'
 
 export default {
+  mixins: [loginCheckMixin],
   name: 'login-form-banner',
   props: ['loginForm', 'loading'],
   inject: ['login', 'logout', 'handleForgetPwd'],
@@ -127,6 +129,10 @@ export default {
   methods: {
     validate: function(cb) {
       return this.$refs.loginForm.validate(cb)
+    },
+    async handleGoUserCenter() {
+      await this.loginCheck()
+      this.$router.push('/user/info/userinfo')
     }
   }
 }

+ 5 - 0
src/views/index/login.vue

@@ -112,6 +112,11 @@ export default {
       }
     }
   },
+  mounted() {
+    if (this.isLogin) {
+      this.loginStatusCheck()
+    }
+  },
   methods: {
     ...mapActions(['CheckRoutes', 'Login', 'LogOut', 'GetInfo']),
     login() {