HeimLink 锐同小程序:按产品选择、跟随渠道更新

App PR #158 已合入 dev(下一个 App 版本生效)· Console:Workbench #94、#95 已部署,#96 待合并(本页附本地预览截图)· 2026-10-03

每个产品在产品契约里用 appletId 指定一个锐同小程序(设备控制界面)。App 跟随发布渠道更新小程序,渠道回退时也会跟着装回较早的版本;随 App 打包的内置副本只作兜底。更新入口在设备设置页的「小程序」分组。

三条规则

设备设置页的「小程序」分组

原生设备设置页,控制界面右上角的齿轮进入

下面三张是界面示意。测试机 Nokia X6 截取 HeimLink 画面只得到黑屏,所以按真机导出的界面文字和 App 源码里的样式还原:第二张的文字取自真机当前画面;另外两张按 App 的中文文案和显示格式还原,其中的时间只是示例。

渠道有新版本时

小程序

Thermostat1.2.0 · 内置
自动更新
上次检查22:40 · 可安装 1.2.1
渠道stable ›
更新到 1.2.1

更新对使用此小程序的所有设备生效。

安装完成后(真机当前画面)

小程序

Thermostat1.2.1 · 已下载
自动更新
上次检查下午10:49 · 已安装 1.2.1
渠道stable ›
检查更新

更新对使用此小程序的所有设备生效。

发布方把渠道退回较早版本时

小程序

Thermostat1.2.1 · 已下载
自动更新
上次检查23:05 · 可安装 1.2.0
渠道stable ›
安装 1.2.0

发布方已将此渠道退回到较早的版本。

更新对使用此小程序的所有设备生效。

控制界面:内置 1.2.0 与下载的 1.2.1

用浏览器直接渲染两个小程序包里的页面文件

1.2.1 是为这次验证做的测试包:页面顶部加了红色斜纹色条「测试版 1.2.1 · 从 Console 下载」,表盘强调色改为红到琥珀。手动更新完成后返回设备页,立刻显示新版本;后台自动下载的版本在下次进入设备页时生效,不会在使用中途切换。

内置 1.2.0 控制界面
内置 1.2.0(随 App 打包)
下载的 1.2.1 测试包控制界面,顶部有红色色条
从渠道下载的 1.2.1 测试包

App 侧规则

对应 App 源码 src/features/devices/built-in-web-apps/

选择小程序按已认证产品契约的 appletId。产品没有 appletId,或指定的小程序既没内置也没下载时,设备页显示「该产品暂无小程序」。
运行哪份副本已下载副本通过结构检查(平铺文件名、manifest、id 一致、路由文件齐全)就运行它,否则运行内置副本。
是否下载渠道版本与已下载版本不同就下载;没有已下载副本时,渠道里有任何版本都下载。渠道为空、404、离线时保持现状。不采用服务端的 updateAvailable。
自动检查App 冷启动和回到前台时,检查已保存设备用到的小程序;同一个小程序 6 小时内最多检查一次,从上次得到答复(渠道版本或 404)算起。
渠道普通用户固定 stable;开发者选项解锁后可选 beta、dev,按小程序保存。
生效时机手动更新后返回设备页立即生效;后台下载的版本在设备页下次变为活动时生效。
兼容旧版 App小程序不声明最低 App 版本,调用宿主不支持的接口会得到 NOT_SUPPORTED 或 NOT_PLANNED,小程序必须据此降级。

Console 上的效果

#94、#95 已上线;#96(先新建、再上传、小程序详情页)尚未合并,下面截图来自本机运行的 #96 预览

预览使用一次性数据库,不连接 Workbench 数据库;产品详情里的 rtitek-therm-01 是预览库自带的示例产品。

线上资源管理列表页
① 列表页:右上角「新建 Web App」;点任一行或「管理」进入该小程序的详情页。新建的应用 ID 是系统生成的 UUID,已有的 heimlink-thermostat 保留原 ID。
新建 Web App 对话框
② 新建时只填名称和品类标签,不填 ID。
新建后的小程序详情页
③ 创建后直接进入详情页:头部是名称、品类标签和可复制的 App ID(包里 app.json 的 id 必须是它);往下依次是基本信息、渠道、版本(「上传新版本」)、使用此小程序的产品、删除。
上传预览:id 不一致
④ 上传预览:包里的 id 与 App ID 不一致,红色报错,「确认上传」不可点。
上传预览:名称不一致只提示
⑤ id 一致、名称不同:琥珀色提示,名称以小程序设置为准,仍可上传。
产品详情的小程序选择
⑥ 产品详情「发布」分组选择小程序,旁边是它的品类标签和「查看小程序」链接;不比对品类,生成快照时必须选择。
小程序详情页:使用此小程序的产品
⑦ 从「查看小程序」进入 heimlink-thermostat 的详情页:「使用此小程序的产品」列出引用它的产品(当前草稿或快照 rN),可点进产品详情;有产品引用时删除按钮禁用并写明原因。

发版前必须核对 stable 渠道

App 跟随渠道,没有已下载副本的 App 会下载渠道里的任何版本。发布新 App 前,每个内置小程序的 stable 必须指向本次 APK 内置的版本,否则新装 App 的设备会被渠道里的版本替换掉内置版本。