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)
这个提交包含在:
Guoguo
2026-07-28 06:44:34 -07:00
父节点 39177e5ff4
当前提交 431d4058a8
修改 7 个文件,包含 116 行新增59 行删除
@@ -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