Files
lisglosips/docs/20260827_S57_UI_NUMBER_LIBRARY_RELEASE_REPORT.md

3.0 KiB
Raw Permalink Blame History

S57 UI、查询与号码库发布报告(2026-08-27)

发布结论

  • 代码提交:c36709f366422b9dc5d37156d42d6e2f78bea051
  • B 发布目录:/opt/lisglosips/releases/s57-ui-number-library-20260827T124730Z
  • 配置/回滚备份:/var/backups/lisglosips-s57/20260827T124730Z
  • 数据备份:/data/backups/mysql/20260827T124730Z/data/backups/redis/20260827T124730Z
  • 发布前检查:MySQL、Redis、Nginx、API、CDR Worker、录音 Worker、HEP、Prometheus、Grafana 均为 activeAPI ready 与 Nginx 配置检查通过。
  • 第一次切换因发布脚本误检查不存在的 /health 路径得到 404,自动回滚成功;修正为 /health/ready 后重新发布并通过,没有遗留半切换状态。

生产数据结果

数据表 生产数量
行政城市 371
手机前 7 位号段 517,258
城市区号 321
运营商前三位规则 70
  • 数据文件上传前后 SHA256 一致。
  • 生产干跑:phone.dat 2502 版本,有效号段 517,258,行政区未匹配 0。
  • 导入器拒绝向非空号码库重复写入,并在导入前由发布流程完成 MySQL/Redis 备份。
  • Prisma 并行计数和首屏 25 条直查共 85 ms。

生产接口证据

以下耗时来自 B 的 API 完成日志:

接口 状态 服务端耗时
/api/v2/active-calls 200 首次 46 ms,后续 4-6 ms
/api/v2/number-library/cities?take=25&skip=0 200 9 ms
/api/v2/number-library/phone-segments?take=25&skip=0 200 74 ms
/api/v2/cdrs 最近一周 200 7 ms
/api/v2/recordings 最近一周 200 5 ms
/api/v2/audit-logs 最近一周 200 5 ms

当前通话页面已显示“控制面:就绪”,空闲时返回 0 路真实 dialog,不再出现 OpenSIPS control plane unavailable。

浏览器验收

  • 登录态下 Dashboard 只保留两个趋势模块,“客户消费 TOP 10”和“失败响应码分布”已删除。
  • 客户网关页标题和列表按内容高度从顶部连续排列,截图所示大面积空白消失。
  • 号码库首屏 25 条,显示 1-25 / 371;手机号码库显示 1-25 / 517,258,上一页/下一页状态正确。
  • 话单、质检、操作日志日期均默认 2026-08-212026-08-27;请求转换为上海时区自然日对应的 UTC 起止值。
  • 页面 DOM 均有真实业务内容,没有框架错误覆盖层;关键请求均在 API 日志中返回 200。

本地质量门禁

  • ESLint:通过。
  • TypeScript project build/typecheck:通过。
  • Web production build:通过。
  • Vitest:27 个测试文件、98 个测试全部通过。
  • 号码库导入器本地与生产干跑:均为未匹配 0。

回滚

如需回滚代码和 API 配置:恢复 /var/backups/lisglosips-s57/20260827T124730Z/api.env,将 /opt/lisglosips/current 指回该目录内 previous-release 记录的版本,并重启 lisglosips@api。号码库数据回滚应使用本次发布前 MySQL 备份,不应直接无条件清空四张表。