189 lines
8.3 KiB
Plaintext
189 lines
8.3 KiB
Plaintext
<view class="page">
|
||
<view class="nav-placeholder" style="height: {{navBarHeight || (statusBarHeight + 44)}}px;"></view>
|
||
<view class="header safe-header-right">
|
||
<text class="header-title">我的</text>
|
||
</view>
|
||
|
||
<block wx:if="{{!isLoggedIn}}">
|
||
<view class="card user-card">
|
||
<view class="user-row">
|
||
<view class="avatar-placeholder">👤</view>
|
||
<view class="user-info">
|
||
<view class="btn-login" bindtap="doLogin">点击登录</view>
|
||
<text class="user-desc">解锁专属权益</text>
|
||
</view>
|
||
</view>
|
||
<view class="stats">
|
||
<view class="stat"><text class="stat-num brand-color">0</text><text class="stat-label">已购章节</text></view>
|
||
<view class="stat"><text class="stat-num brand-color">0</text><text class="stat-label">推荐好友</text></view>
|
||
<view class="stat"><text class="stat-num gold-color">--</text><text class="stat-label">待领收益</text></view>
|
||
</view>
|
||
</view>
|
||
<view class="card referral-card">
|
||
<view class="referral-left">
|
||
<view class="referral-icon">🎁</view>
|
||
<view>
|
||
<text class="referral-title">推广赚收益</text>
|
||
<text class="referral-desc">登录后查看详情</text>
|
||
</view>
|
||
</view>
|
||
<view class="btn-ref" bindtap="doLogin">立即登录</view>
|
||
</view>
|
||
<view class="menu">
|
||
<view class="menu-item" bindtap="doLogin">
|
||
<text class="menu-icon">📦</text>
|
||
<text class="menu-text">我的订单</text>
|
||
<text class="arrow">›</text>
|
||
</view>
|
||
<view class="menu-item" bindtap="goAbout">
|
||
<view class="menu-icon-circle brand">ℹ</view>
|
||
<text class="menu-text">关于作者</text>
|
||
<text class="arrow">›</text>
|
||
</view>
|
||
</view>
|
||
</block>
|
||
|
||
<block wx:else>
|
||
<view class="card user-card">
|
||
<view class="user-row">
|
||
<view class="avatar">{{userInitial}}</view>
|
||
<view class="user-info">
|
||
<text class="user-name">{{user.nickname || '用户'}}</text>
|
||
<text class="user-id">ID: {{userIdSuffix}}</text>
|
||
</view>
|
||
<view class="tag">⭐ 创业伙伴</view>
|
||
</view>
|
||
<view class="stats">
|
||
<view class="stat"><text class="stat-num brand-color">{{purchasedCount}}</text><text class="stat-label">已购章节</text></view>
|
||
<view class="stat"><text class="stat-num brand-color">{{user.referralCount || 0}}</text><text class="stat-label">推荐好友</text></view>
|
||
<view class="stat"><text class="stat-num gold-color">{{earningsDisplay}}</text><text class="stat-label">待领收益</text></view>
|
||
</view>
|
||
</view>
|
||
|
||
<view class="card earnings-card" bindtap="goReferral">
|
||
<view class="earnings-head">
|
||
<view class="earnings-title-row">
|
||
<text class="earnings-icon">💰</text>
|
||
<text class="earnings-title">我的收益</text>
|
||
</view>
|
||
<text class="earnings-link">推广中心 ›</text>
|
||
</view>
|
||
<view class="earnings-row">
|
||
<view class="earnings-item">
|
||
<text class="earnings-label">累计收益</text>
|
||
<text class="earnings-value gold">¥{{earningsText}}</text>
|
||
</view>
|
||
<view class="earnings-item">
|
||
<text class="earnings-label">可提现</text>
|
||
<text class="earnings-value">{{pendingEarningsText}}</text>
|
||
</view>
|
||
</view>
|
||
<view class="btn-earnings">推广中心 / 提现</view>
|
||
</view>
|
||
|
||
<view class="tabs">
|
||
<view class="tab {{activeTab === 'overview' ? 'active' : ''}}" data-tab="overview" bindtap="setActiveTab">📋 概览</view>
|
||
<view class="tab {{activeTab === 'footprint' ? 'active' : ''}}" data-tab="footprint" bindtap="setActiveTab">👣 我的足迹</view>
|
||
</view>
|
||
|
||
<block wx:if="{{activeTab === 'overview'}}">
|
||
<view class="menu">
|
||
<view class="menu-item" bindtap="goPurchases">
|
||
<text class="menu-icon">📦</text>
|
||
<text class="menu-text">我的订单</text>
|
||
<text class="menu-extra">{{completedOrders}}笔</text>
|
||
<text class="arrow">›</text>
|
||
</view>
|
||
<view class="menu-item" bindtap="goReferral">
|
||
<view class="menu-icon-circle gold">🎁</view>
|
||
<text class="menu-text">推广中心</text>
|
||
<text class="menu-extra brand">90%佣金</text>
|
||
<text class="arrow">›</text>
|
||
</view>
|
||
<view class="menu-item" bindtap="goAbout">
|
||
<view class="menu-icon-circle brand">ℹ</view>
|
||
<text class="menu-text">关于作者</text>
|
||
<text class="arrow">›</text>
|
||
</view>
|
||
<view class="menu-item" bindtap="goSettings">
|
||
<view class="menu-icon-circle gray">⚙</view>
|
||
<text class="menu-text">设置</text>
|
||
<text class="arrow">›</text>
|
||
</view>
|
||
</view>
|
||
</block>
|
||
|
||
<block wx:if="{{activeTab === 'footprint'}}">
|
||
<view class="footprint-section">
|
||
<view class="footprint-card">
|
||
<view class="footprint-title-row">
|
||
<text class="footprint-icon">📊</text>
|
||
<text class="footprint-title">阅读统计</text>
|
||
</view>
|
||
<view class="footprint-stats">
|
||
<view class="fp-stat">
|
||
<text class="fp-stat-icon">📖</text>
|
||
<text class="fp-stat-value brand-color">{{purchasedCount}}</text>
|
||
<text class="fp-stat-label">已读章节</text>
|
||
</view>
|
||
<view class="fp-stat">
|
||
<text class="fp-stat-icon">⏱</text>
|
||
<text class="fp-stat-value">{{totalReadTime}}</text>
|
||
<text class="fp-stat-label">阅读分钟</text>
|
||
</view>
|
||
<view class="fp-stat">
|
||
<text class="fp-stat-icon">👥</text>
|
||
<text class="fp-stat-value">{{matchHistoryCount}}</text>
|
||
<text class="fp-stat-label">匹配伙伴</text>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
<view class="footprint-card">
|
||
<view class="footprint-title-row">
|
||
<text class="footprint-icon">📖</text>
|
||
<text class="footprint-title">最近阅读</text>
|
||
</view>
|
||
<block wx:if="{{recentChapters.length > 0}}">
|
||
<view class="recent-item" wx:for="{{recentChapters}}" wx:key="*this" data-id="{{item}}" bindtap="goToRead">
|
||
<text class="recent-index">{{index + 1}}</text>
|
||
<text class="recent-id">章节 {{item}}</text>
|
||
<text class="recent-link">继续阅读</text>
|
||
</view>
|
||
</block>
|
||
<view class="footprint-empty" wx:else>
|
||
<text class="empty-desc">暂无阅读记录</text>
|
||
<view class="empty-btn" bindtap="goChapters">去阅读 →</view>
|
||
</view>
|
||
</view>
|
||
<view class="footprint-card" wx:if="{{matchEnabled}}">
|
||
<view class="footprint-title-row">
|
||
<text class="footprint-icon">👥</text>
|
||
<text class="footprint-title">匹配记录</text>
|
||
</view>
|
||
<view class="footprint-empty">
|
||
<text class="empty-desc">暂无匹配记录</text>
|
||
<view class="empty-btn" bindtap="goMatch">去匹配 →</view>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
</block>
|
||
</block>
|
||
|
||
<view class="mask" wx:if="{{showBindModal}}" catchtap="closeBindModal">
|
||
<view class="modal bind-modal" catchtap="">
|
||
<view class="modal-head">
|
||
<text class="modal-head-title">绑定{{bindType === 'phone' ? '手机号' : (bindType === 'wechat' ? '微信号' : '支付宝')}}</text>
|
||
<view class="modal-close" bindtap="closeBindModal">×</view>
|
||
</view>
|
||
<view class="modal-body">
|
||
<input class="bind-input" placeholder="{{bindType === 'phone' ? '请输入11位手机号' : (bindType === 'wechat' ? '请输入微信号' : '请输入支付宝账号')}}" value="{{bindValue}}" bindinput="onBindInput" />
|
||
<text class="bind-error" wx:if="{{bindError}}">{{bindError}}</text>
|
||
<text class="bind-hint">{{bindType === 'phone' ? '绑定手机号后可用于找伙伴匹配' : (bindType === 'wechat' ? '绑定微信号后可用于找伙伴匹配和好友添加' : '绑定支付宝后可用于提现收益')}}</text>
|
||
<view class="btn-primary {{!bindValue || isBinding ? 'disabled' : ''}}" bindtap="submitBind">{{isBinding ? '绑定中...' : '确认绑定'}}</view>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
|
||
<view class="bottom-space"></view>
|
||
</view>
|