feat: 样式调整

This commit is contained in:
Blizzard
2026-04-28 10:32:19 +08:00
parent 7f51b2a0a8
commit ce91e2cbbe
33 changed files with 1553 additions and 619 deletions
+13 -1
View File
@@ -87,12 +87,24 @@ Page({
lowestPrice = { label: prices[0].label, value: (prices[0].value / 100).toFixed(2) }
}
}
// 按钮类型:用于 WXML 条件渲染
// VIP 用户优先判断 —— 可播放全部频道
var btnType = 'subscribe'
if (gd.isVip) {
btnType = isVipOnly ? 'vip-listen' : 'listen'
} else if (isVipOnly) {
btnType = 'vip-only'
} else if (isFree || isSubscribed) {
btnType = 'listen'
}
return Object.assign({}, ch, {
_isSubscribed: isSubscribed,
_isFree: isFree,
_isVipOnly: isVipOnly,
_lowestPrice: lowestPrice,
_canPlay: canPlay
_canPlay: canPlay,
_btnType: btnType
})
})
+10 -5
View File
@@ -58,13 +58,18 @@
</view>
<!-- 行动按钮 -->
<!-- 可播放(VIP / 免费 / 已订阅)→ 收听 -->
<view wx:if="{{item._canPlay}}" class="sub-btn free" bindtap="onAction" data-id="{{item.id}}">
<!-- VIP用户收听VIP专享频道 -->
<view wx:if="{{item._btnType === 'vip-listen'}}" class="sub-btn vip-listen" bindtap="onAction" data-id="{{item.id}}">
<text>👑 VIP畅听</text>
</view>
<!-- 可收听(免费 / 已订阅)-->
<view wx:elif="{{item._btnType === 'listen'}}" class="sub-btn free" bindtap="onAction" data-id="{{item.id}}">
<text>▶ 收听</text>
</view>
<!-- VIP专享(非VIP用户)-->
<view wx:elif="{{item._isVipOnly}}" class="sub-btn vip" bindtap="onAction" data-id="{{item.id}}">
<!-- VIP专享(非VIP用户)-->
<view wx:elif="{{item._btnType === 'vip-only'}}" class="sub-btn vip" bindtap="onAction" data-id="{{item.id}}">
<text>👑 VIP专享</text>
</view>
@@ -90,7 +95,7 @@
</view>
</view>
<view style="height: 200rpx;"></view>
<view class="player-bottom-spacer"></view>
</scroll-view>
<!-- 全局播放条 -->
+10 -4
View File
@@ -5,7 +5,7 @@
display: flex;
flex-direction: column;
height: 100vh;
background: #F6F6F6;
background: var(--color-bg-page);
overflow: hidden;
}
@@ -15,7 +15,7 @@
padding: 16rpx 32rpx;
white-space: nowrap;
background: #FFFFFF;
border-bottom: 1rpx solid #F5F5F5;
border-bottom: 1rpx solid var(--color-border);
}
.filter-tag {
display: inline-block;
@@ -29,7 +29,7 @@
transition: all 0.2s;
}
.filter-tag.active {
background: #1A1A1A;
background: var(--color-primary-dark);
color: #FFF;
}
@@ -124,10 +124,16 @@
}
/* 付费订阅 */
.sub-btn.paid {
background: linear-gradient(135deg, #FF9D42, #FF7832);
background: linear-gradient(135deg, #FF9E6D, #FF7832);
color: #FFF;
box-shadow: 0 4rpx 12rpx rgba(255, 157, 66, 0.3);
}
/* VIP畅听(VIP用户看到VIP专享频道) */
.sub-btn.vip-listen {
background: linear-gradient(135deg, #FBBF24, #D97706);
color: #FFF;
box-shadow: 0 4rpx 12rpx rgba(251, 191, 36, 0.3);
}
/* ========== 骨架屏 ========== */
@keyframes skele-shimmer {