Bläddra i källkod

feat:企业画像未登录处理

zhangsiya 2 år sedan
förälder
incheckning
353edd1914

+ 29 - 3
src/jfw/modules/app/src/web/staticres/jyapp/big-member/js/ent_portrait.js

@@ -141,7 +141,11 @@ var vNode = {
       isSC: 0, //0未收藏 1收藏
       idx: [],
       list: [],
-      entParams: {}
+      entParams: {},
+      // 用户是否登录
+      isLogin: false,
+      // 是否是免费用户
+      isFree: false
     }
   },
   created: function () {
@@ -158,6 +162,8 @@ var vNode = {
     this.entInfo.id = eId
     this.entInfo.name = ''
     this.restore = this.reStoreState()
+    // 判断用户是否登录
+    this.getUserSimpleInfo()
     this.getPowerInfo()
     if (!this.restore) {
       // 获取企业基本信息
@@ -660,7 +666,7 @@ var vNode = {
     getEntBaseInfo: function () {
       var _this = this
       let urls = ''
-      if (_this.powerInfo.memberStatus <= 0 || _this.svip) {
+      if (_this.powerInfo.memberStatus <= 0 || _this.svip || _this.isFree || !_this.isLogin) {
         urls = '/bigmember/portrait/subVipPortrait/entDetail'
       } else {
         urls = '/bigmember/portrait/ent/detail'
@@ -724,6 +730,10 @@ var vNode = {
     },
     changeFollowState: function () {
       var _this = this
+      if(!this.isLogin) {
+        window.location.href = "/jyapp/free/login?to=back";
+        return
+      }
       if (this.entInfo.follow) {
         this.$dialog.confirm({
           title: '提示信息',
@@ -799,7 +809,7 @@ var vNode = {
               }
             }
             _this.conf.isMember = res.data.memberStatus
-            _this.conf.arr = res.data.power
+            _this.conf.arr = res.data.power || []
             _this.conf.vipStatus = res.data.vipStatus
             // 新版超级订阅用户获取访问量
             if (res.data.viper && (_this.conf.isMember <= 0 || res.data.power.indexOf(4) == -1)) {
@@ -811,6 +821,7 @@ var vNode = {
           }
           //免费用户体验权限
           if (res.data.isFree) {
+            _this.isFree = true
             if (res.data.freeEntPort == 0) {
               _this.canFreeExp = true
             } else {
@@ -848,6 +859,21 @@ var vNode = {
         }
       })
     },
+    // 判断当前用户是登录
+    getUserSimpleInfo() {
+      const _this = this
+      $.ajax({
+        type: 'POST',
+        url: '/jypay/user/getSimpleData',
+        success: function (res) {
+          if(res && res.userId) {
+            _this.isLogin = true
+          }
+        },error:function (e) {
+          _this.isLogin = false
+        }
+      })
+    },
     // 修改企业关注状态
     changeFollowStateRequest: function () {
       var _this = this

+ 24 - 8
src/jfw/modules/app/src/web/templates/big-member/page_ent_portrait_change.html

@@ -29,9 +29,9 @@
         background-size: 100% 100%;
         box-sizing: border-box;
     }
-    .bigVip_com{
-        display: none;
-    }
+    /*.bigVip_com{*/
+    /*    display: none;*/
+    /*}*/
 </style>
 <body>
 <div class="j-container">
@@ -42,7 +42,7 @@
             <p class="empty-text">暂无企业情报历史记录</p>
         </div>
         <div class="vip_component bigVip_com" v-if="!getStatus" style="height:100%;background:url('/common-module/collection/image/bg/vip_bg_8.png') no-repeat;background-size:100% 100%">
-            <vip-component type="item_8" :power="conf" :vipststus="vipststus" :entvisit="entvisit" imgurl='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/collection/image/bg/vip_ex_8.png'></vip-component>
+            <vip-component type="item_8" :power="conf" :vipststus="vipststus" :entvisit="entvisit" imgurl='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/collection/image/bg/vip_ex_8.png' :islogin="isLogin"></vip-component>
         </div>
         <ul class="ent-change-list" v-else key="changeList">
             <li class="ent-change-item" v-for="(item,index) in changeList" :key="item.changeTime">
@@ -100,8 +100,8 @@ var vNode = {
             isMember: 0
         },
         isVip: false,
-        vipststus: 0
-
+        vipststus: 0,
+        isLogin: false
     },
     created: function () {
         var eId = utils.getParam('eId')
@@ -110,13 +110,14 @@ var vNode = {
             this.eId = eId
         }
         this.getUserInfo()
+        this.getUserSimpleInfo()
         this.getEntVisits()
         this.getEntHistory()
     },
     computed: {
         getStatus: function () {
             // 超级订阅用户没有企业情报监控权限,显示购买页
-            return this.conf._12
+            return this.conf._12 && this.isLogin
         }
     },
     methods: {
@@ -133,7 +134,7 @@ var vNode = {
                     }
                     if (res.data && $.isArray(res.data.power)) {
                         // 根据power判断权限,企业画像包含权限(12)
-                        var power = res.data.power
+                        var power = res.data.power || []
                         // 判断是否是超级订阅会员、老用户还是新用户
                         if (res.data.viper) {
                             $('.bigVip_com').css({'display':'flex'})
@@ -154,6 +155,21 @@ var vNode = {
                 }
             })
         },
+          // 判断当前用户是登录
+          getUserSimpleInfo() {
+            const _this = this
+            $.ajax({
+              type: 'POST',
+              url: '/jypay/user/getSimpleData',
+              success: function (res) {
+                if(res && res.userId) {
+                  _this.isLogin = true
+                }
+              },error:function (e) {
+                _this.isLogin = false
+              }
+            })
+          },
         // 企业画像访问量查询
         getEntVisits: function() {
             let _this = this

+ 15 - 0
src/web/staticres/common-module/collection/js/vip-dialog.js

@@ -13,6 +13,7 @@ var vipDialog = `
   <div class="openBtn">
       <button class="goBtn" @click="goOpen(getTextMap.source)">{{getTextMap.btnText}}</button>
   </div>
+   <p class="no-login-tip" v-if="!islogin">登录后解锁会员查看更多内容</p>
 </div>
 `
 
@@ -65,6 +66,12 @@ var vipComponent = {
       default: function() {
         return false
       }
+    },
+    'islogin': {
+      type: Boolean,
+      default: function() {
+        return false
+      }
     }
   },
   data: function() {
@@ -222,6 +229,10 @@ var vipComponent = {
           break
         }
       }
+      // 未登录
+      if(!this.islogin) {
+        textMap.btnText = '登录查看'
+      }
       return textMap
     },
   },
@@ -260,6 +271,10 @@ var vipComponent = {
           location.href = '/jyapp/frontPage/bigmember/free/perfect_info?source=ent_portrait_freeuser'
           break
         }
+        case '登录查看': {
+          location.href = '/jyapp/free/login?to=back'
+          break
+        }
         default: {
           // location.href = '/jyapp/vipsubscribe/vipsubscribe_new'
           location.href = '/jy_mobile/common/order/create/svip?type=buy'

+ 6 - 0
src/web/templates/frontRouter/wx/collection/sess/ent_portrait.html

@@ -43,12 +43,18 @@
         line-height: 0.4rem;
     }
     .vip_openDialog{
+        position: relative;
         padding: 0 0 0.64rem;
         width: 6.06rem;
         background: url('{{Msg "seo" "cdn"}}/big-member/image/openVip.png?v={{Msg "seo" "version"}}') no-repeat;
         background-size: 100% 100%;
         box-sizing: border-box;
     }
+    .no-login-tip{
+        position:absolute;
+        width:100%;
+        text-align: center;
+    }
     .bid_surplus{
         height: .04rem;
         opacity: 1;