- Profile: show "未订阅" card when subscription inactive/0 days - Profile: subscription management navigates to page instead of modal - Subscribe-plans: data-driven plan cards with mock payment flow - Subscribe-plans: show current subscription status at top - Subscribe-prompt: "先使用普通模式" goes to wear-check directly - Add help and contact placeholder pages - Fix unbindDevice to work without explicit deviceId
46 行
2.0 KiB
Plaintext
46 行
2.0 KiB
Plaintext
<view class="page">
|
||
<view class="page-header page-header-gold" style="padding-top: {{statusBarHeight + 24}}px;">
|
||
<view class="nav-back" bindtap="onBack">‹ 返回</view>
|
||
<view class="page-header-title">订阅服务</view>
|
||
<view class="page-header-subtitle">解锁智能模式</view>
|
||
</view>
|
||
|
||
<view class="page-content">
|
||
<!-- Current subscription status -->
|
||
<view class="current-sub" wx:if="{{subscription && subscription.status === 'active' && subRemaining > 0}}">
|
||
<view class="current-sub-row">
|
||
<text class="current-sub-label">当前套餐</text>
|
||
<text class="current-sub-value">{{subscription.plan === 'trial' ? '试用' : subscription.plan === 'monthly' ? '月卡' : subscription.plan === 'yearly' ? '年卡' : subscription.plan}}</text>
|
||
</view>
|
||
<view class="current-sub-row">
|
||
<text class="current-sub-label">剩余天数</text>
|
||
<text class="current-sub-value">{{subRemaining}}天</text>
|
||
</view>
|
||
</view>
|
||
|
||
<view class="page-title">选择订阅套餐</view>
|
||
|
||
<view class="service-card">
|
||
<view class="service-icon">✨</view>
|
||
<view class="service-info">
|
||
<view class="service-name">智能模式</view>
|
||
<view class="service-desc">根据皮肤状态自动调节</view>
|
||
</view>
|
||
</view>
|
||
|
||
<view class="plans">
|
||
<view class="plan {{selected === item.key ? 'selected' : ''}}" wx:for="{{plans}}" wx:key="key" bindtap="onSelect" data-plan="{{item.key}}">
|
||
<view class="plan-tag {{selected === item.key ? 'plan-tag-active' : ''}}" wx:if="{{item.tag}}">{{item.tag}}</view>
|
||
<view class="plan-price">{{item.priceLabel}}</view>
|
||
<view class="plan-name">{{item.name}}</view>
|
||
<view class="plan-save">{{item.desc}}</view>
|
||
</view>
|
||
</view>
|
||
|
||
<button class="btn-primary btn-primary-gold" bindtap="onPurchase" disabled="{{purchasing}}" loading="{{purchasing}}">
|
||
确认支付
|
||
</button>
|
||
<view class="agreement">支付即表示同意《订阅协议》</view>
|
||
</view>
|
||
</view>
|