Miniprogram: - Add back buttons to all custom-nav pages - Add debug/mock buttons (BLE connect, wear check, treatment) controlled by __DEV__ flag (hidden in prod) Admin console: - Fix log page using nonexistent fields (operator_type, target_type) now correctly reads admin_id/user_id/action/detail from API - Fix subscription date fields (started_at→start_time, expired_at→expire_time) - Wire up subscription detail/extend/renew action buttons - Wire up device detail "查看完整日志" button - Add "创建订阅" button to subscription toolbar - Fix subscription status mapping (2=expired, 3=cancelled) Docs: - Add detailed architecture docs for server, miniprogram, admin console
50 行
1.9 KiB
Plaintext
50 行
1.9 KiB
Plaintext
<view class="page">
|
||
<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 class="page-header-subtitle">请确保面罩贴合面部</view>
|
||
</view>
|
||
|
||
<view class="page-content">
|
||
<view class="device-row">
|
||
<view class="device-row-icon">💆</view>
|
||
<view class="device-row-info">
|
||
<view class="device-row-name">
|
||
光子美容仪
|
||
<text class="status-badge status-badge-green">已连接</text>
|
||
</view>
|
||
<view class="device-row-battery">电量 85%</view>
|
||
</view>
|
||
</view>
|
||
|
||
<view class="guide-card">
|
||
<view class="guide-title">佩戴指引</view>
|
||
<view class="guide-img">面罩佩戴示意图</view>
|
||
<view class="guide-steps">
|
||
<view class="guide-step">1. 取出面罩,展开弹性绑带</view>
|
||
<view class="guide-step">2. 将面罩贴合面部</view>
|
||
<view class="guide-step">3. 调节绑带至舒适位置</view>
|
||
</view>
|
||
</view>
|
||
|
||
<button class="btn-primary" bindtap="checkWearing" disabled="{{checking}}" loading="{{checking}}">
|
||
确认已佩戴
|
||
</button>
|
||
<button class="btn-secondary" bindtap="onRetry">重新连接</button>
|
||
|
||
<view class="check-result" wx:if="{{result === 'ok'}}">
|
||
<text class="check-ok">✓ 佩戴确认成功</text>
|
||
</view>
|
||
<view class="check-result" wx:if="{{result === 'fail'}}">
|
||
<text class="check-fail">{{error}}</text>
|
||
</view>
|
||
|
||
<button wx:if="{{result === 'ok'}}" class="btn-primary mt-30" bindtap="onNext">设置护理参数</button>
|
||
|
||
<view class="debug-actions" wx:if="{{devMode}}">
|
||
<view class="debug-label">🔧 调试工具</view>
|
||
<button class="btn-secondary btn-sm" bindtap="onMockWearOk">模拟佩戴确认</button>
|
||
</view>
|
||
</view>
|
||
</view>
|