feat: expand companion platform, device controls, and memoir workflows
ci / verify (push) Canceled after 0s

Add customer and operator login, BLE provisioning, device fleet controls, call memory, memoir generation, and refreshed family and maintenance portals. Include API contracts, migrations, firmware sources, tests, assets, and deployment documentation.
This commit is contained in:
Codex Local
2026-10-08 10:06:44 +08:00
parent 98fb2965d0
commit bf1233d5df
861 changed files with 94614 additions and 3209 deletions
+50
View File
@@ -0,0 +1,50 @@
# 全页改版发布记录 — 2026-09-20
已发布至 https://82.157.201.114/ 。主版本于北京时间 23:44 上线,设置页账户显示修正于 23:48 上线。
## 当前版本
| 项目 | 发布结果 |
| --- | --- |
| 当前目录 | `/opt/data-terminal-cloud/releases/0.99.1-rc.portal-display1` |
| Web | `data-terminal-cloud-web:0.99.1-rc.portal-display1` |
| API | `data-terminal-cloud-api:0.99.0-rc.portal1` |
| Worker | 保留 `data-terminal-cloud-backend:0.98.0-rc.trusted-login1` |
| 数据库 | 迁移 73,dirty=false |
| JS | `/assets/index-Bdo_d906.js` |
| CSS | `/assets/index-DCoHY0BU.css` |
| 发布基线 | `0.98.3-rc.home-width1` |
## 交付范围
家庭端 18 个页面/状态、维护中心 9 个业务区视觉与响应式调整,新增昵称接口、家庭最近 7 天事件历史接口,以及迁移 `000073_customer_activity_history`。详情见 [实现记录](customer-portal-redesign-20260920.md)。
使用线上源码基线构造独立候选,初始发布叠加 41 个必要源码/资源文件,保留线上认证、短信和验证码实现。没有把含其他任务变更的整个工作目录打包发布。最终补丁只改设置页账户标识:preferred_username 缺失时回退到身份/账户显示名,并继续掩码处理手机号。
首次切换只重建 API 和 Web;Worker、回调、PostgreSQL、Redis、MinIO、网关容器 ID 保持不变,网关执行配置重载。最终显示补丁只重建 Web,API 和数据库保持运行。
## 验证
- 候选 TypeScript/Vite 构建通过;候选 identity、webevents、httpapi 使用独立测试库复验通过。全量本地测试及 14 个服务集成测试见实现记录。
- API 和 Worker 就绪检查通过,API 版本为 `0.99.0-rc.portal1`;API/Web 容器运行且重启次数为 0。
- 数据库为 `73|f`,公开 index、JS、CSS 和插画资源的内容摘要与发布产物一致。
- 新增事件历史接口匿名请求返回 401;昵称接口匿名修改请求被拒绝。
- 真实已有登录会话持续有效。家庭端首页、聊天记录、提醒与待办、陪伴设备、服务用量、设置与权限抽查通过,浏览器无新增 warning/error;手机号登录账户显示修正已复查。
- 未改动真实昵称、权限、分享或删除数据;维护中心真实角色全流程、短信和实物蓝牙未在生产执行。
## 备份与可追溯产物
服务器数据库备份:`/opt/data-terminal-cloud/backups/before-0.99.0-rc.portal1-20260920T234309/database.dump`。目录权限 0700、文件权限 0600,`pg_restore --list` 校验通过;备份保留在服务器。
- 数据库备份 SHA-256:`b125b168f3617530b3c6f4e32b7c57846814831300a14dba62ad202af912345d`
- 主发布包 SHA-256:`6055a478469a8a6e6e78059d01cc746df065a74aa558f9bbce2aba675a9de639`
- 显示补丁包 SHA-256:`db6b81cd61e13515026f9b34eb3b0d5931b17cbcdead79f51dda46a85b938ec1`
- API 二进制 SHA-256:`850dd9ff29225c09bc9b0148ead4359a5304fe0e25a65ddd7b49849eec5b67a2`
服务器最终发布目录保留 `portal-release-manifest.json` 和 `portal-display-release-manifest.json`,记录文件摘要、前一版本及发布时间。本地副本位于 `.tmp-all-pages-deploy/online-portal-release-manifest.json`、`.tmp-all-pages-deploy/online-display-release-manifest.json`。构建、集成测试与部署脚本也保留在 `.tmp-all-pages-deploy/`。
## 回滚说明
前一 Web/API 发布目录、镜像均保留。显示补丁可回退至 `0.99.0-rc.portal1`,仅重建 Web;全套应用可回退至 `0.98.3-rc.home-width1`,仅重建 API/Web,并切换 current 链接、重载网关。迁移 73 是兼容旧版本的增量变更,应用回退时保留迁移,不恢复旧数据库覆盖新业务数据。
操作应沿用部署脚本中的 Compose 项目名 `data-terminal-cloud`、对应发布目录的环境文件和完整 overlay 链。当前链为 `compose.yaml` 加 `deploy/server/compose.{override,subtitle,onboarding,migration,fleet,admin-ui,admin-ui2,tencent-sms,tencent-captcha,trusted-login,home,captcha-csp,home-width,portal,portal-display}.yaml`,回退时去除目标版本之后的 overlay。不得通过整栈 down 或删除数据卷执行应用回滚。