shinnosuke
2026-08-13 55d709bc98d9ee37010c95300fb272fa9ada2fc1
fix(family-card): 调整非卓越卡提示布局
2个文件已修改
17 ■■■■■ 已修改文件
rencaika/pages/family-card-unavailable/family-card-unavailable.uvue 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
talent-card-server/src/main/java/com/talentcard/server/business/portal/TalentCardPortalService.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rencaika/pages/family-card-unavailable/family-card-unavailable.uvue
@@ -15,7 +15,7 @@
            <view v-else class="notice-block">
                <view class="notice-icon"><text>!</text></view>
                <text class="notice-text">{{unavailableReason}}</text>
                <text class="notice-text strong">{{effectiveScope}}</text>
                <text v-if="effectiveScope != ''" class="notice-text strong">{{effectiveScope}}</text>
                <text v-if="cardLevel != ''" class="card-level">当前人才卡:{{cardLevel}}</text>
            </view>
        </view>
@@ -60,8 +60,11 @@
                return
            }
            cardLevel.value = data != null && data.cardLevel != null ? data.cardLevel as string : ''
            unavailableReason.value = data != null && data.unavailableReason != null && data.unavailableReason != '' ? data.unavailableReason as string : '家庭附属卡服务暂未开放'
            effectiveScope.value = data != null && data.effectiveScope != null ? data.effectiveScope as string : '仅限卓越人才卡用户'
            const isNonExcellentCard = cardLevel.value != '' && cardLevel.value.indexOf('卓越') < 0
            unavailableReason.value = isNonExcellentCard
                ? '抱歉,家庭附属卡功能暂时只针对卓越人才卡等级开放'
                : (data != null && data.unavailableReason != null && data.unavailableReason != '' ? data.unavailableReason as string : '家庭附属卡服务暂未开放')
            effectiveScope.value = isNonExcellentCard ? '' : (data != null && data.effectiveScope != null ? data.effectiveScope as string : '仅限卓越人才卡用户')
        }, () => { accessLoading.value = false; accessError.value = true })
    }
@@ -78,9 +81,9 @@
    .back-button-active { opacity: .55; }
    .nav-title { position: absolute; left: 50%; top: 50%; color: #171B22; font-family: sans-serif; font-size: 37rpx; line-height: 48rpx; font-weight: 700; transform: translate(-50%, -50%); white-space: nowrap; }
    .capsule-space { width: 88px; height: 100%; flex-shrink: 0; }
    .content { display: flex; min-height: 0; flex: 1; justify-content: center; align-items: center; }
    .notice-block { display: flex; width: 100%; box-sizing: border-box; padding: 0 48rpx 125rpx; flex-direction: column; align-items: center; }
    .state-block { display: flex; color: #7C8797; font-size: 26rpx; flex-direction: row; align-items: center; }
    .content { display: flex; min-height: 0; flex: 1; justify-content: center; align-items: flex-start; }
    .notice-block { display: flex; width: 100%; box-sizing: border-box; padding: 118rpx 48rpx 0; flex-direction: column; align-items: center; }
    .state-block { display: flex; margin-top: 118rpx; color: #7C8797; font-size: 26rpx; flex-direction: row; align-items: center; }
    .error-state { flex-direction: column; }
    .retry-text { margin-top: 22rpx; color: #F26A38; }
    .loading-spinner { width: 30rpx; height: 30rpx; margin-right: 13rpx; box-sizing: border-box; border: 3rpx solid #FFD6C4; border-top-color: #FF6C2B; border-radius: 50%; animation: access-loading 720ms linear infinite; }
talent-card-server/src/main/java/com/talentcard/server/business/portal/TalentCardPortalService.java
@@ -170,7 +170,7 @@
        result.put("cardLevel", level);
        result.put("familyCardLimit", ((Number) card.getOrDefault("familyCardLimit", 0)).intValue());
        if (!isExcellenceCardLevel(level)) {
            result.put("unavailableReason", "家庭附属卡仅向卓越人才卡用户开放");
            result.put("unavailableReason", "抱歉,家庭附属卡功能暂时只针对卓越人才卡等级开放");
            return result;
        }
        if (!"ACTIVE".equals(cardStatus(card))) {