https://admin.xiaoshu.pro/admin/login。xiaoshu-admin.obs-website.cn-south-1.myhuaweicloud.com,对应 OBS 桶 xiaoshu-admin,区域 cn-south-1。这不是学生端站点。817b561a537fab1b0411f0581aa61200bef125a6;版本号:817b561a537f-20261015T124317689Z。62a1fd2a225e4f1c1cae58587cf6d9ef,与公网原入口一致。public-read 权限;源站校验后上传版本清单,最后切换 index.html。旧哈希资源保留。7892998146,回读状态 task_done,成功 1、失败 0。node scripts/release-admin-web.mjs --verify 校验公网 95 个文件的 SHA-256、版本清单和登录/工资深层路由成功。/、/admin/login、/admin/store-home、/admin/schedule,均为 HTTP 200 且入口哈希与本次发布相同。在正式后端创建明确标记的隔离测试门店、老师和学生,使用测试门店真实密码调用正式登录接口,返回 store-admin。没有修改真实门店密码,也没有使用临时会话冒充密码登录验证。
通过实际业务接口验证:
验收发现数据库 updatedAt 有微秒,而前端接口通过 JavaScript Date 返回毫秒;原 SQL 精确比较使新预约修改/取消误报“预约已变更”。已修改两个版本判断,与 API 的毫秒精度一致,仍保留过期版本拒绝。生产通过 scripts/sql/schedule-version-precision.sql 只替换现有函数的比较表达式,未覆盖其他线上热修复;更新前备份函数,更新后核对定义只发生这两处变化。
仓库的 scripts/release-admin-web.mjs 负责打包和验证。上传使用官方 obsutil,CDN 使用 hcloud CDN CreateRefreshTasks/v2,凭据从受保护的现有配置读取,不写入仓库或静态包。
已确认的上传目标为 obs://xiaoshu-admin/,endpoint 为 obs.cn-south-1.myhuaweicloud.com。后续发布仍应先备份、上传资源并校验,再更新版本清单和入口,刷新 https://admin.xiaoshu.pro/ 目录,最后运行公网校验。不得执行清空整个桶的命令。
本次完整基线、上传记录、函数定义、接口验收及清理结果保存在本机受保护目录 /Users/mac/.local/state/xiaoshu/cloud-releases/2026-10-15-store-web/。回滚前端时恢复基线中的入口及非哈希资源,再刷新 CDN;保留旧新两套哈希资源。数据库回滚仅基于保存的两个函数定义并确认没有后续修改,不触碰课时、凭据、审计或门店隔离约束。