Ver Fonte

feat: 优化首页弹窗逻辑

zhangyuhan há 1 ano atrás
pai
commit
7925c3ac18
2 ficheiros alterados com 12 adições e 7 exclusões
  1. 11 6
      src/pages/tabbar/home/index.vue
  2. 1 1
      src/store/modules/user.js

+ 11 - 6
src/pages/tabbar/home/index.vue

@@ -107,7 +107,7 @@ export default {
       address: state => state.user.address
     }),
     ...mapGetters('subscribe', ['subscribeInfoLoaded']),
-    ...mapGetters('user', ['nowActiveArea', 'hasArea', 'subscribeArea']),
+    ...mapGetters('user', ['nowActiveArea', 'hasArea', 'subscribeArea', 'isLogin']),
     ...mapGetters('config', ['subFilterItem', 'searchInputPlaceholder', 'appConfig', 'searchTypeConf']),
     projectInfo () {
       return Object.assign({}, this.appConfig.projectInfo, {
@@ -115,14 +115,19 @@ export default {
       })
     },
     showTip () {
-      if (this.subscribeInfoLoaded) {
-        if (this.hasArea) {
-          return false
-        } else {
+      if (this.hasArea) {
+        return false
+      }
+      
+      // 由于接口设计问题,登录用户需要等待订阅信息判断是否弹窗设置地区
+      if (this.isLogin) {
+        if (this.subscribeInfoLoaded) {
           return this.showSelectAreaTip
+        } else {
+          return false
         }
       } else {
-        return false
+        return this.showSelectAreaTip
       }
     },
     searchType() {

+ 1 - 1
src/store/modules/user.js

@@ -195,7 +195,7 @@ export default {
       return rootGetters['subscribe/subscribeArea']
     },
     hasArea (state, getters) {
-      if (getters.subscribeArea.length > 0) {
+      if (getters.subscribeArea) {
         return true
       } else {
         return Boolean(state.address.area)