109 lines
4.1 KiB
Plaintext
109 lines
4.1 KiB
Plaintext
<!--个人中心页面-->
|
|
<view class="container">
|
|
<!-- 用户信息卡片 -->
|
|
<view class="user-card">
|
|
<!-- 已登录状态 -->
|
|
<view class="user-header" wx:if="{{userInfo && userInfo.phone}}">
|
|
<image class="avatar-large" src="{{userInfo.avatar || '/images/avatar-default.svg'}}" mode="aspectFill"></image>
|
|
<view class="user-meta">
|
|
<text class="nickname">{{userInfo.nickname || '新用户'}}</text>
|
|
<view class="member-code" bindtap="showMemberCode">
|
|
<text>会员码: {{userInfo.memberCode}}</text>
|
|
<image src="/images/icon-qrcode.svg" mode="aspectFit"></image>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
|
|
<!-- 未登录状态 -->
|
|
<view class="login-panel" wx:else>
|
|
<image class="avatar-large" src="/images/avatar-default.svg" mode="aspectFill"></image>
|
|
<view class="login-tips">
|
|
<text class="title">欢迎来到羽动俱乐部</text>
|
|
<text class="desc">授权手机号,开启您的运动之旅</text>
|
|
</view>
|
|
<button
|
|
class="login-btn phone-btn"
|
|
open-type="getPhoneNumber"
|
|
bindgetphonenumber="onGetPhoneNumber"
|
|
>
|
|
手机号快捷登录
|
|
</button>
|
|
<button
|
|
class="login-btn profile-btn"
|
|
bindtap="onChooseAvatar"
|
|
wx:if="{{needProfile}}"
|
|
>
|
|
完善头像昵称
|
|
</button>
|
|
</view>
|
|
|
|
<!-- 积分展示 -->
|
|
<view class="points-display" wx:if="{{userInfo}}">
|
|
<view class="points-value">{{userInfo.totalPoints || 0}}</view>
|
|
<view class="points-label">我的积分</view>
|
|
</view>
|
|
</view>
|
|
|
|
<!-- 天梯信息 -->
|
|
<view class="ladder-card" wx:if="{{ladderUser}}">
|
|
<view class="card-title">天梯信息 - {{currentStore.storeName}}</view>
|
|
<view class="ladder-info">
|
|
<view class="info-item">
|
|
<text class="value">{{ladderUser.realName}}</text>
|
|
<text class="label">姓名</text>
|
|
</view>
|
|
<view class="info-item">
|
|
<view class="level-tag lv{{ladderUser.level}}">Lv{{ladderUser.level}}</view>
|
|
<text class="label">等级</text>
|
|
</view>
|
|
<view class="info-item">
|
|
<text class="value highlight">{{ladderUser.powerScore}}</text>
|
|
<text class="label">战力值</text>
|
|
</view>
|
|
<view class="info-item">
|
|
<text class="value">{{ladderUser.matchCount}}</text>
|
|
<text class="label">比赛场次</text>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
|
|
<view class="notice-card" wx:else>
|
|
<image src="/images/icon-info.svg" mode="aspectFit"></image>
|
|
<text>您还不是天梯用户,请联系门店工作人员加入天梯系统</text>
|
|
</view>
|
|
|
|
<!-- 功能菜单 -->
|
|
<view class="menu-list">
|
|
<view class="menu-item" bindtap="goTo" data-url="/pages/match/history/index">
|
|
<image src="/images/icon-history.svg" mode="aspectFit"></image>
|
|
<text>比赛记录</text>
|
|
<image class="arrow" src="/images/icon-arrow.svg" mode="aspectFit"></image>
|
|
</view>
|
|
<view class="menu-item" bindtap="goTo" data-url="/pages/points/records/index">
|
|
<image src="/images/icon-points.svg" mode="aspectFit"></image>
|
|
<text>积分记录</text>
|
|
<image class="arrow" src="/images/icon-arrow.svg" mode="aspectFit"></image>
|
|
</view>
|
|
<view class="menu-item" bindtap="goTo" data-url="/pages/points/order/index">
|
|
<image src="/images/icon-order.svg" mode="aspectFit"></image>
|
|
<text>兑换订单</text>
|
|
<image class="arrow" src="/images/icon-arrow.svg" mode="aspectFit"></image>
|
|
</view>
|
|
<view class="menu-item" bindtap="goTo" data-url="/pages/store/index">
|
|
<image src="/images/icon-store.svg" mode="aspectFit"></image>
|
|
<text>切换门店</text>
|
|
<image class="arrow" src="/images/icon-arrow.svg" mode="aspectFit"></image>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
|
|
<!-- 会员码弹窗 -->
|
|
<view class="qrcode-modal" wx:if="{{showQrcode}}" bindtap="hideQrcode">
|
|
<view class="modal-content" catchtap="">
|
|
<view class="modal-title">我的会员码</view>
|
|
<canvas canvas-id="qrcode" class="qrcode-canvas"></canvas>
|
|
<text class="qrcode-text">{{userInfo.memberCode}}</text>
|
|
<text class="qrcode-tip">请将会员码出示给对方扫描</text>
|
|
</view>
|
|
</view>
|