docs(binding): record relation service deployment and verification
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
# Banban 与 4G 小程序流量关联、联合解绑联调说明
|
||||
|
||||
当前契约以 [4G 后端接口文档 (2)](./设备直接绑定接口联调文档(2).md) 为准。本文描述 Banban 后端、Banban 小程序及 `/Users/stu2not/4g-miniprogram` 的本地实现;第 10 节为此前版本的线上操作记录,不表示新版关系查询/关闭流程已部署。
|
||||
当前契约以 [4G 后端接口文档 (2)](./设备直接绑定接口联调文档(2).md) 为准。本文描述 Banban 后端、Banban 小程序及 `/Users/stu2not/4g-miniprogram` 的实现;第 10 节记录服务器部署版本及验证范围,小程序发布状态需单独确认。
|
||||
|
||||
## 1. 业务规则
|
||||
|
||||
@@ -141,7 +141,7 @@ node --test tests/*.test.cjs
|
||||
|
||||
状态事务测试使用 SQLite 适配,HTTP 使用模拟传输;没有访问生产 4G 接口或验证真实 MySQL 锁竞争。微信登录、真机跨小程序返回、V13 历史回填和真实关闭/消费并发需部署到联调环境后验收。伴伴构建可执行,全量 TypeScript 检查有既有类型错误,不将构建通过等同于全量类型检查通过。
|
||||
|
||||
2026-09-23 本次提交内容在独立目录验证:后端 142 项通过,Banban 小程序 30 项通过且微信小程序构建成功,4G 小程序 16 项通过且全部页面脚本/JSON 校验通过。全量 TypeScript 检查的 6 项错误与修改前 HEAD 一致。本次只做本地实施、测试与 Git 交付,不部署新版服务或上传小程序。
|
||||
2026-09-23 首次提交内容在独立目录验证:后端 142 项通过,Banban 小程序 30 项通过且微信小程序构建成功,4G 小程序 16 项通过且全部页面脚本/JSON 校验通过。全量 TypeScript 检查的 6 项错误与修改前 HEAD 一致。后续服务器部署及兼容修复验证见第 10 节。
|
||||
|
||||
## 10. 2026-09-23 服务器更新记录
|
||||
|
||||
@@ -164,3 +164,15 @@ node --test tests/*.test.cjs
|
||||
14:25 按用户提供的密钥配置 `BANBAN_HANDOFF_SERVICE_TOKEN`。更新前 `.env` 备份于 `/home/ubuntu/banban-backups/handoff-token-20260923-1424/env.before`;其他配置项保持原值,现有 `.env` 权限收紧为 600。独立进程校验有效配置与提供值一致,重启后进程为 `512483`,HTTPS OpenAPI 为 200,MQTT 连接正常。密钥值不记录到文档或仓库。
|
||||
|
||||
4G 申请接口空请求分别在无密钥、有密钥时均返回 400 `INVALID_REQUEST`,说明该检查无法证明密钥鉴权成功;未提交有效 ICCID 或创建交接凭证,实际关联仍待正常业务请求验证。
|
||||
|
||||
### 17:58 新版关系查询与关闭流程部署
|
||||
|
||||
按用户后续授权部署 `515567f` 的关系校验流程,并补充 `9cb7195` 的 Python 3.10 时间戳兼容修复。与下午旧版本相比,仅替换 `banban/routers/joint_binding.py`、`banban/service/joint_binding.py`、`banban/service/traffic_handoff.py` 三个文件;已有数据库结构满足要求,未重复执行迁移,`.env` 及服务密钥保持不变。
|
||||
|
||||
更新前备份位于 `/home/ubuntu/banban-backups/relation-check-20260923-1755`,包含代码与配置归档、五张绑定相关表的一致性 SQL 快照、替换文件及哈希清单;兼容修复前的二次备份和最终 `verification.json` 位于其 `compat-fix/` 子目录。目录仅 root 可访问。
|
||||
|
||||
首次线上验证发现 4G Java 服务的 `checkedAt` 使用纳秒精度,服务器 Python 3.10 的 `datetime.fromisoformat` 无法解析;修复为分别校验 UTC 时间格式和日历值,保留原始精度。修复后本地后端 151 项测试通过,服务器 Python 3.10 的 9 个时间戳有效/无效用例通过。
|
||||
|
||||
最终进程为 `563609`。本机及公网 HTTPS OpenAPI 均为 200,8 条联合绑定路由已注册;未登录校验请求为 401,已登录不存在操作的校验请求为预期 404 `OPERATION_NOT_FOUND`;现有绑定查询、联合绑定概览及绑定提示音均为 200;启动和 MQTT 连接正常。部署文件哈希与提交一致,配置哈希保持不变。
|
||||
|
||||
使用既有服务密钥执行真实 4G 关系 GET,返回 200 `OK`,新版适配器成功解析:3111 当时为 `bound / open / canUnbind=false`。另一个历史关系只读抽查为 `unknown`,不能据此允许伴伴解绑。最终验证前后五表记录数一致,未创建测试绑定、关闭真实关系或执行实际解绑;4G `/close` 的真实关闭效果、消费并发及微信真机往返仍需业务联调验证。本次未部署 4G JAR/V13,也未上传或发布两个小程序。
|
||||
|
||||
Reference in New Issue
Block a user