44 行
1.5 KiB
Plaintext
44 行
1.5 KiB
Plaintext
<view class="container">
|
|
<view class="card profile-header">
|
|
<view class="avatar-area">
|
|
<image wx:if="{{userInfo && userInfo.avatar}}" src="{{userInfo.avatar}}" class="avatar" />
|
|
<view wx:else class="avatar-placeholder">{{(userInfo && userInfo.nickname ? userInfo.nickname[0] : '?')}}</view>
|
|
</view>
|
|
<view class="user-info">
|
|
<view class="nickname">{{userInfo && userInfo.nickname || '未设置昵称'}}</view>
|
|
<view class="text-muted">ID: {{userInfo && userInfo.user_id || ''}}</view>
|
|
</view>
|
|
</view>
|
|
|
|
<view class="card">
|
|
<view class="menu-item" bindtap="onManageDevice">
|
|
<text>设备管理</text>
|
|
<view class="flex-row">
|
|
<text class="text-muted">{{deviceCount}} 台设备</text>
|
|
<text class="arrow-sm">❯</text>
|
|
</view>
|
|
</view>
|
|
<view class="divider"></view>
|
|
<view class="menu-item" bindtap="onViewSubscription">
|
|
<text>订阅管理</text>
|
|
<view class="flex-row">
|
|
<text class="text-muted">
|
|
{{subscription && subscription.status > 0 ? '剩余 ' + subRemaining + ' 天' : '未订阅'}}
|
|
</text>
|
|
<text class="arrow-sm">❯</text>
|
|
</view>
|
|
</view>
|
|
<view class="divider"></view>
|
|
<view class="menu-item" bindtap="onViewHistory">
|
|
<text>护理记录</text>
|
|
<text class="arrow-sm">❯</text>
|
|
</view>
|
|
</view>
|
|
|
|
<view class="card">
|
|
<view class="menu-item logout" bindtap="onLogout">
|
|
<text>退出登录</text>
|
|
</view>
|
|
</view>
|
|
</view>
|