Server: - POST /api/v1/admin/password: admin password change with bcrypt migration - POST /api/v1/subscription/trial: user trial activation, one per user - POST /api/v1/admin/devices/batch: bulk device import (up to 500) - Add trial plan (7 days, free) to PLANS constant Admin console: - Settings page: add password change form with validation - Device page: add batch import modal with textarea input Miniprogram: - Treating page: add back button with stop-treatment confirmation - Index page: add mock device bind button (dev mode only)
30 行
1.2 KiB
Plaintext
30 行
1.2 KiB
Plaintext
<view class="page">
|
|
<view class="page-content" wx:if="{{!hasDevice}}">
|
|
<view class="empty-device">
|
|
<text class="empty-icon">📱</text>
|
|
<view class="empty-text">还没有绑定设备</view>
|
|
<button class="btn-primary mt-30" bindtap="onAddDevice">扫码添加设备</button>
|
|
<view class="debug-actions" wx:if="{{devMode}}">
|
|
<view class="debug-label">🔧 调试工具</view>
|
|
<button class="btn-secondary btn-sm" bindtap="onMockBind">模拟绑定设备</button>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
|
|
<view class="page-content" wx:if="{{hasDevice}}">
|
|
<view class="device-card">
|
|
<view class="device-icon">💆</view>
|
|
<view class="device-name">{{deviceName || '我的光面膜'}}</view>
|
|
<text class="status-badge status-badge-green" wx:if="{{connected}}">已连接</text>
|
|
<text class="status-badge" style="background:#ccc;" wx:else>未连接</text>
|
|
<view class="device-battery" wx:if="{{connected}}">
|
|
<text>🔋</text>
|
|
<text>电量 {{battery}}%</text>
|
|
</view>
|
|
</view>
|
|
|
|
<button class="btn-primary" bindtap="onStartTreatment">开始护理</button>
|
|
<button class="btn-secondary" bindtap="onManageDevice">设备管理</button>
|
|
</view>
|
|
</view>
|