Преглед изворни кода

feat: 小程序 index.vue 增加 LIFETIME 检测与会员态修复(终身会员隐藏续费入口、显示永久有效)

Xiaogang Liao пре 1 месец
родитељ
комит
a2be763c67
1 измењених фајлова са 11 додато и 1 уклоњено
  1. 11 1
      cfc-frontend/pages/index-home/index.vue

+ 11 - 1
cfc-frontend/pages/index-home/index.vue

@@ -396,6 +396,7 @@ export default {
 
       // 会员状态(沙盘下方会员入口使用)
       isMember: false,
+      isLifetime: false,
       membershipDays: 0
     }
   },
@@ -424,6 +425,7 @@ export default {
     // 会员入口显示:非会员显示开通;会员剩余≤30天显示续费
     showMemberEntry: function() {
       if (!this.isLoggedIn()) return false
+      if (this.isLifetime) return false
       if (!this.isMember) return true
       return this.membershipDays > 0 && this.membershipDays <= 30
     },
@@ -431,14 +433,17 @@ export default {
       return (uni.getStorageSync('role') || 'parent') === 'child'
     },
     memberEntryTitle: function() {
+      if (this.isLifetime) return '终身会员 · 永久有效'
       if (!this.isMember) return '开通会员,解锁全部特权'
       return '会员即将到期,续费恢复权益'
     },
     memberEntryDesc: function() {
+      if (this.isLifetime) return '享全平台权益,无需续费'
       if (!this.isMember) return '享专属折扣 · 成长服务 · 规划指导'
       return '剩余 ' + this.membershipDays + ' 天,续费保持权益不中断'
     },
     memberEntryBtn: function() {
+      if (this.isLifetime) return '已拥有'
       return this.isMember ? '立即续费' : '立即开通'
     }
   },
@@ -810,10 +815,15 @@ export default {
       var that = this
       getMyMembership().then(function(res) {
         var m = res.data || {}
-        that.isMember = !!(m.memberLevel && m.memberLevel !== 'FREE') || !!(m.levelCode && m.levelCode !== 'FREE')
+        var level = m.memberLevel || m.levelCode || ''
+        that.isLifetime = (level === 'LIFETIME')
+        that.isMember = that.isLifetime || !!(level && level !== 'FREE')
         var mem = m.membership || m
         if (mem.daysRemaining != null) {
           that.membershipDays = mem.daysRemaining
+        } else if (that.isLifetime) {
+          // 终身会员:永久有效,不显示剩余天数
+          that.membershipDays = 0
         }
       }).catch(function() {})
     },