# 全页改版发布记录 — 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 或删除数据卷执行应用回滚。