feat(ui): use face-map layout for report zones and manual region picker; restrict manual care to smart mode
- scan-report: replace zone card grid with the same oval face-map layout as treatment-setup, zones tinted by recommended light with mode label; restore the per-light legend under the map - manual-treatment: region picker now uses the same face-map layout - manual care mode selection is smart-mode only: entry link hidden for non-subscribers and the page itself checks subscription (free mode passes since the backend reports it as active)
这个提交包含在:
@@ -48,6 +48,23 @@ Page({
|
||||
onShow: function () {
|
||||
i18n.bind(this)
|
||||
this.refreshDurationOptions()
|
||||
this._checkAccess()
|
||||
},
|
||||
|
||||
// 手动选择护理模式为智能模式专属(果果 2026-07-28 定案)。普通模式用户不可用——
|
||||
// 入口链接已按订阅隐藏,此处兜底拦截直达(smart_mode_free 开启时后端返回 active,同样放行)。
|
||||
_checkAccess: function () {
|
||||
var http = require('../../utils/request')
|
||||
http.get('/api/v1/subscription').then(function (sub) {
|
||||
if (sub && sub.status === 'active') return
|
||||
wx.showModal({
|
||||
content: i18n.t('manual.smartOnly'),
|
||||
showCancel: false,
|
||||
complete: function () {
|
||||
wx.navigateBack({ fail: function () { wx.reLaunch({ url: '/pages/index/index' }) } })
|
||||
}
|
||||
})
|
||||
}).catch(function () {}) // 网络失败不拦(避免误伤),实际下发仍有 BLE/后端校验
|
||||
},
|
||||
|
||||
// Duration labels carry a dynamic number, which WXML cannot substitute, so
|
||||
|
||||
在新工单中引用
屏蔽一个用户