- 数据概览:去掉代付统计独立卡片,总收入中以小标签显示代付金额 - 数据概览:移除余额统计区块(余额改在用户管理中展示) - 数据概览:恢复转化率卡片(唯一付费用户/总用户) - 用户管理:用户列表新增「余额/提现」列,显示钱包余额和已提现金额 - 后端:DBUsersList 增加 user_balances 查询,返回 walletBalance 字段 - 后端:User model 添加 WalletBalance 非数据库字段 - 包含之前的小程序埋点和管理后台点击统计面板 Made-with: Cursor
89 lines
3.3 KiB
Plaintext
89 lines
3.3 KiB
Plaintext
<!-- Soul创业派对 - 我的余额 -->
|
||
<view class="page">
|
||
<!-- 自定义导航栏 -->
|
||
<view class="nav-bar" style="padding-top: {{statusBarHeight}}px;">
|
||
<view class="nav-back" bindtap="goBack">
|
||
<text class="back-icon">‹</text>
|
||
</view>
|
||
<text class="nav-title">我的余额</text>
|
||
<view class="nav-placeholder"></view>
|
||
</view>
|
||
<view class="nav-placeholder-block" style="height: {{statusBarHeight + 44}}px;"></view>
|
||
|
||
<!-- 余额卡片 -->
|
||
<view class="balance-card">
|
||
<view class="balance-main" wx:if="{{!loading}}">
|
||
<text class="balance-label">当前余额</text>
|
||
<text class="balance-value">¥{{balanceText}}</text>
|
||
<text class="balance-tip">充值后可直接用于解锁付费内容,消费记录会展示在下方。</text>
|
||
</view>
|
||
<view class="balance-skeleton" wx:else>
|
||
<text class="skeleton-text">加载中...</text>
|
||
</view>
|
||
</view>
|
||
|
||
<!-- 充值金额选择 -->
|
||
<view class="section">
|
||
<view class="section-head">
|
||
<text class="section-title">选择充值金额</text>
|
||
<text class="section-note">当前已选 ¥{{selectedAmount}}</text>
|
||
</view>
|
||
<view class="amount-grid">
|
||
<view
|
||
class="amount-card {{selectedAmount === item ? 'amount-card-active' : ''}}"
|
||
wx:for="{{rechargeAmounts}}"
|
||
wx:key="*this"
|
||
bindtap="selectAmount"
|
||
data-amount="{{item}}"
|
||
>
|
||
<view class="amount-card-top">
|
||
<text class="amount-card-value">¥{{item}}</text>
|
||
<view class="amount-card-check {{selectedAmount === item ? 'amount-card-check-active' : ''}}">
|
||
<view class="amount-card-check-dot" wx:if="{{selectedAmount === item}}"></view>
|
||
</view>
|
||
</view>
|
||
<text class="amount-card-desc">{{selectedAmount === item ? '已选中,点击充值' : '点击选择此金额'}}</text>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
|
||
<!-- 操作按钮 -->
|
||
<view class="action-row">
|
||
<view class="btn btn-recharge" bindtap="handleRecharge">充值</view>
|
||
<view class="btn btn-refund" bindtap="handleRefund">退款(9折)</view>
|
||
</view>
|
||
|
||
<!-- 充值与消费记录 -->
|
||
<view class="section">
|
||
<view class="section-head">
|
||
<text class="section-title">充值/消费记录</text>
|
||
<text class="section-note">按时间倒序显示</text>
|
||
</view>
|
||
<view class="transactions" wx:if="{{transactions.length > 0}}">
|
||
<view
|
||
class="tx-item"
|
||
wx:for="{{transactions}}"
|
||
wx:key="id"
|
||
>
|
||
<view class="tx-icon {{item.type}}">
|
||
<text wx:if="{{item.type === 'recharge'}}">💰</text>
|
||
<text wx:elif="{{item.type === 'gift'}}">🎁</text>
|
||
<text wx:elif="{{item.type === 'refund'}}">↩️</text>
|
||
<text wx:elif="{{item.type === 'consume'}}">📖</text>
|
||
<text wx:else>•</text>
|
||
</view>
|
||
<view class="tx-info">
|
||
<text class="tx-desc">{{item.description}}</text>
|
||
<text class="tx-time">{{item.createdAt || item.created_at || '--'}}</text>
|
||
</view>
|
||
<text class="tx-amount {{item.amount >= 0 ? 'tx-amount-plus' : 'tx-amount-minus'}}">{{item.amountSign}}¥{{item.amountText}}</text>
|
||
</view>
|
||
</view>
|
||
<view class="tx-empty" wx:else>
|
||
<text>暂无充值或消费记录</text>
|
||
</view>
|
||
</view>
|
||
|
||
<view class="bottom-space"></view>
|
||
</view>
|