fix: subscription extend instead of overwrite, improve placeholder pages

- Subscription purchase now extends expire_time when user has active
  subscription, instead of cancelling and replacing
- Admin subscription creation uses same extend logic
- Subscribe page shows "续费" button and extend message for renewals
- Help and contact pages: add pink header, centered icon + text
这个提交包含在:
Guoguo
2026-04-29 08:35:58 -07:00
父节点 9bdccdcec8
当前提交 1017fb5dae
修改 8 个文件,包含 114 行新增32 行删除
+6 -2
查看文件
@@ -1,9 +1,13 @@
<view class="page">
<view class="page-header" style="padding-top: {{statusBarHeight + 24}}px;">
<view class="page-header page-header-pink" style="padding-top: {{statusBarHeight + 24}}px;">
<view class="nav-back" bindtap="onBack"> 返回</view>
<view class="page-header-title">联系我们</view>
</view>
<view class="page-content">
<view class="placeholder">内容建设中...</view>
<view class="placeholder-container">
<view class="placeholder-icon">📬</view>
<view class="placeholder-text">内容建设中</view>
<view class="placeholder-sub">联系方式正在整理,敬请期待</view>
</view>
</view>
</view>
+22 -4
查看文件
@@ -1,6 +1,24 @@
.placeholder {
text-align: center;
.placeholder-container {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
padding: 120rpx 40rpx;
}
.placeholder-icon {
font-size: 100rpx;
margin-bottom: 32rpx;
}
.placeholder-text {
font-size: 32rpx;
font-weight: 600;
color: #333333;
margin-bottom: 12rpx;
}
.placeholder-sub {
font-size: 26rpx;
color: #999999;
font-size: 28rpx;
padding: 80rpx 0;
}
+6 -2
查看文件
@@ -1,9 +1,13 @@
<view class="page">
<view class="page-header" style="padding-top: {{statusBarHeight + 24}}px;">
<view class="page-header page-header-pink" style="padding-top: {{statusBarHeight + 24}}px;">
<view class="nav-back" bindtap="onBack"> 返回</view>
<view class="page-header-title">使用帮助</view>
</view>
<view class="page-content">
<view class="placeholder">内容建设中...</view>
<view class="placeholder-container">
<view class="placeholder-icon">📖</view>
<view class="placeholder-text">内容建设中</view>
<view class="placeholder-sub">帮助文档正在编写,敬请期待</view>
</view>
</view>
</view>
+22 -4
查看文件
@@ -1,6 +1,24 @@
.placeholder {
text-align: center;
.placeholder-container {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
padding: 120rpx 40rpx;
}
.placeholder-icon {
font-size: 100rpx;
margin-bottom: 32rpx;
}
.placeholder-text {
font-size: 32rpx;
font-weight: 600;
color: #333333;
margin-bottom: 12rpx;
}
.placeholder-sub {
font-size: 26rpx;
color: #999999;
font-size: 28rpx;
padding: 80rpx 0;
}
@@ -118,9 +118,16 @@ Page({
return
}
var isRenew = self.data.subscription && self.data.subscription.status === 'active' && self.data.subRemaining > 0
var planDays = plan.key === 'yearly' ? 365 : 30
var title = isRenew ? '确认续费' : '确认支付'
var content = isRenew
? '在现有订阅基础上延长' + planDays + '天,模拟支付 ¥' + plan.price + '?(测试环境)'
: '模拟支付 ¥' + plan.price + '?(测试环境)'
wx.showModal({
title: '确认支付',
content: '模拟支付 ¥' + plan.price + '?(测试环境)',
title: title,
content: content,
success: function (res) {
if (res.confirm) {
self.doPurchase(plan)
@@ -38,7 +38,7 @@
</view>
<button class="btn-primary btn-primary-gold" bindtap="onPurchase" disabled="{{purchasing}}" loading="{{purchasing}}">
确认支付
{{subscription && subscription.status === 'active' && subRemaining > 0 ? '续费' : '确认支付'}}
</button>
<view class="agreement">支付即表示同意《订阅协议》</view>
</view>