- 3 个并行 agent 各管 5 页,互不重叠命名空间 - 全 App 18 页均 i18n.bind,22 命名空间/400 键中英对齐 - 动态文案(时长/天数/价格/区域)JS 内 i18n.t 计算;区域标签复用 common.regions
45 行
2.7 KiB
Plaintext
45 行
2.7 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.setup.title}}</view>
|
||
<view class="page-header-subtitle">{{i18n.setup.subtitle}}</view>
|
||
</view>
|
||
|
||
<view class="page-content">
|
||
<view class="page-title">{{i18n.setup.selectMode}}</view>
|
||
|
||
<view class="mode-selector">
|
||
<view class="mode-option {{selectedMode === 0 ? 'active' : ''}}" bindtap="onSelectMode" data-value="0">
|
||
<text class="mode-icon">🔄</text>
|
||
<view class="mode-label">{{i18n.setup.normalMode}}</view>
|
||
<view class="mode-sub">{{i18n.setup.normalModeSub}}</view>
|
||
</view>
|
||
<view class="mode-option {{selectedMode === 1 ? 'active' : ''}} {{subExpired ? 'locked' : ''}}" bindtap="onSelectMode" data-value="1">
|
||
<text class="mode-icon">✨</text>
|
||
<view class="mode-label">{{i18n.setup.smartMode}}</view>
|
||
<view class="mode-sub" wx:if="{{!subExpired}}">{{subDaysText}}</view>
|
||
<view class="mode-sub" wx:else>{{i18n.setup.subscribeUnlock}}</view>
|
||
</view>
|
||
</view>
|
||
|
||
<view class="page-title" style="font-size:28rpx;">{{i18n.setup.selectRegion}}</view>
|
||
<view class="mode-tip" wx:if="{{selectedMode === 0}}">{{i18n.setup.normalTip}}</view>
|
||
|
||
<view class="face-map">
|
||
<view class="face-region forehead {{regions[2].checked ? 'active' : ''}} {{selectedMode === 0 ? 'disabled' : ''}}" bindtap="onToggleRegion" data-idx="2">{{i18n.common.regions.top}}</view>
|
||
<view class="face-region left-cheek {{regions[1].checked ? 'active' : ''}} {{selectedMode === 0 ? 'disabled' : ''}}" bindtap="onToggleRegion" data-idx="1">{{i18n.common.regions.left}}</view>
|
||
<view class="face-region right-cheek {{regions[0].checked ? 'active' : ''}} {{selectedMode === 0 ? 'disabled' : ''}}" bindtap="onToggleRegion" data-idx="0">{{i18n.common.regions.right}}</view>
|
||
<view class="face-region nose {{regions[3].checked ? 'active' : ''}} {{selectedMode === 0 ? 'disabled' : ''}}" bindtap="onToggleRegion" data-idx="3">{{i18n.common.regions.middle}}</view>
|
||
<view class="face-region chin {{regions[4].checked ? 'active' : ''}} {{selectedMode === 0 ? 'disabled' : ''}}" bindtap="onToggleRegion" data-idx="4">{{i18n.common.regions.bottom}}</view>
|
||
</view>
|
||
|
||
<button class="btn-primary" bindtap="onStart" disabled="{{submitting}}" loading="{{submitting}}">
|
||
{{i18n.setup.startBtn}}
|
||
</button>
|
||
|
||
<view class="manual-entry" bindtap="onManual" style="text-align:center;color:#E8503A;font-size:26rpx;margin-top:28rpx;">{{i18n.manual.entryLink}}</view>
|
||
|
||
<view class="error-text" wx:if="{{error}}">{{error}}</view>
|
||
</view>
|
||
</view>
|