- 3 个并行 agent 各管 5 页,互不重叠命名空间 - 全 App 18 页均 i18n.bind,22 命名空间/400 键中英对齐 - 动态文案(时长/天数/价格/区域)JS 内 i18n.t 计算;区域标签复用 common.regions
33 行
1.4 KiB
Plaintext
33 行
1.4 KiB
Plaintext
<view class="page">
|
||
<view class="page-header page-header-pink" style="padding-top: {{statusBarHeight + 24}}px;">
|
||
<view class="nav-back" bindtap="onBack">‹ {{i18n.common.back}}</view>
|
||
<view class="page-header-title">{{i18n.bleConnect.title}}</view>
|
||
<view class="page-header-subtitle">{{state === 'scanning' ? i18n.bleConnect.searchingSub : state === 'connecting' ? i18n.bleConnect.connectingSub : state === 'binding' ? i18n.bleConnect.bindingSub : i18n.bleConnect.failedSub}}</view>
|
||
</view>
|
||
|
||
<view class="page-content">
|
||
<view class="info-tip">
|
||
<text>📡</text>
|
||
<text>{{i18n.bleConnect.bluetoothTip}}</text>
|
||
</view>
|
||
|
||
<view class="search-card" wx:if="{{state === 'scanning' || state === 'connecting'}}">
|
||
<view class="search-icon pulsing">⏳</view>
|
||
<view class="search-text">{{i18n.bleConnect.searching}}</view>
|
||
</view>
|
||
|
||
<view class="found-card" wx:if="{{state === 'binding'}}">
|
||
<view class="found-icon">💆</view>
|
||
<view class="found-name">LumiFlow-{{deviceId}}</view>
|
||
<text class="status-badge status-badge-green">{{i18n.bleConnect.pairing}}</text>
|
||
</view>
|
||
|
||
<view class="found-card" wx:if="{{state === 'error'}}">
|
||
<view class="search-icon">⚠️</view>
|
||
<view class="found-name">{{error || i18n.bleConnect.failed}}</view>
|
||
<button class="retry-btn" bindtap="onRetry">{{i18n.common.retry}}</button>
|
||
</view>
|
||
|
||
</view>
|
||
</view>
|