Эх сурвалжийг харах

fix(membership): 权益对比表按 API_REFERENCE 4.50 契约适配(columns=大写码数组 / rows={name,小写码:文本}),修复会员中心与升级页对比内容全部空白

Agnes Agent 1 долоо хоног өмнө
parent
commit
040daa05e6

+ 7 - 7
cfc-frontend/pages/membership/index.vue

@@ -61,11 +61,11 @@
         <view class="compare-table">
           <view class="compare-row header-row">
             <text class="compare-cell cell-feature">权益项</text>
-            <text class="compare-cell" v-for="(col, cidx) in compareColumns" :key="cidx">{{ col.levelName || col.levelCode }}</text>
+            <text class="compare-cell" v-for="(col, cidx) in compareColumns" :key="cidx">{{ getLevelName(col) }}</text>
           </view>
           <view class="compare-row" v-for="(item, idx) in compareData" :key="idx">
             <text class="compare-cell cell-feature">{{ item.benefitName || item.name }}</text>
-            <text class="compare-cell" v-for="(col, cidx) in compareColumns" :key="cidx">{{ getCompareCell(item, col.levelCode) }}</text>
+            <text class="compare-cell" v-for="(col, cidx) in compareColumns" :key="cidx">{{ getCompareCell(item, col) }}</text>
           </view>
         </view>
       </view>
@@ -166,11 +166,11 @@ export default {
       return (item && item.levelName) ? item.levelName : code
     },
     getCompareCell(item, levelCode) {
-      if (!item || !item.cells) return ''
-      var cell = item.cells[levelCode]
-      if (!cell) return ''
-      if (cell.value != null && cell.value !== '') return cell.value
-      return cell.included ? '✓' : '—'
+      // 后端契约(API_REFERENCE 4.50):columns=大写等级码数组;rows[i]={name, <小写等级码>: 展示文本}
+      if (!item || !levelCode) return ''
+      var v = item[levelCode.toLowerCase()]
+      if (v == null || v === '') return '—'
+      return v
     },
     goUpgrade() {
       uni.navigateTo({ url: '/pages/membership/upgrade' })

+ 7 - 7
cfc-frontend/pages/membership/upgrade.vue

@@ -61,11 +61,11 @@
         <view class="compare-table">
           <view class="compare-row header-row">
             <text class="compare-cell cell-feature">权益项</text>
-            <text class="compare-cell" v-for="(col, cidx) in compareColumns" :key="cidx" :class="col.levelCode === selectedLevel ? 'active' : ''">{{ col.levelName || col.levelCode }}</text>
+            <text class="compare-cell" v-for="(col, cidx) in compareColumns" :key="cidx" :class="col === selectedLevel ? 'active' : ''">{{ getLevelName(col) }}</text>
           </view>
           <view class="compare-row" v-for="(item, idx) in compareData" :key="idx">
             <text class="compare-cell cell-feature">{{ item.benefitName || item.name }}</text>
-            <text class="compare-cell" v-for="(col, cidx) in compareColumns" :key="cidx" :class="col.levelCode === selectedLevel ? 'active' : ''">{{ getCompareCell(item, col.levelCode) }}</text>
+            <text class="compare-cell" v-for="(col, cidx) in compareColumns" :key="cidx" :class="col === selectedLevel ? 'active' : ''">{{ getCompareCell(item, col) }}</text>
           </view>
         </view>
       </view>
@@ -241,11 +241,11 @@ export default {
       })
     },
     getCompareCell(item, levelCode) {
-      if (!item || !item.cells) return ''
-      var cell = item.cells[levelCode]
-      if (!cell) return ''
-      if (cell.value != null && cell.value !== '') return cell.value
-      return cell.included ? '✓' : '—'
+      // 后端契约(API_REFERENCE 4.50):columns=大写等级码数组;rows[i]={name, <小写等级码>: 展示文本}
+      if (!item || !levelCode) return ''
+      var v = item[levelCode.toLowerCase()]
+      if (v == null || v === '') return '—'
+      return v
     },
     selectLevel: function(code) {
       this.selectedLevel = code