Skip to Content

2026年01月05日

内容截止日: 2026年01月11日

本周工作计划与执行完成进度

中心服务平台 - 功能完善

  • 进度: 🔘 未开始 -> 🟡 进行中 -> ⚠️ 部分完成 -> ✅ 已完成 -> 📌 已自测
    • 以往已完成的工作不再重复,详情请查看上周及上月报告
    • 〔工作量〕es-center-server-services 57 次 · 代码 +1.5k/-1.1k | es-center-server-web-app 7 次 · 代码 +0.2k/-0.3k | es-center-server-install-app 24 次 · 代码 +0.7k/-0.6k | es-center-server-build 4 次 · 代码 +0.1k | es-server-deploy 4 次 · 代码 +0.3k/-0.1k | es-ext-doc-website 1 次
    • 〔方法论〕qoder 审查报告驱动缺陷修复 | Nacos 配置集中化延续 | 多服务器部署脚本体系化
    • 1-05 ~ 1-09: 配置集中与独立部署默认值
      • ✅ 两套 Nacos 配置与开发环境同步完善,邮件和短信改为动态读取 〔es-center-server-services〕
        • 实施 1-05 ~ 1-06,完善 nacos-zxs / nacos-zxs-cs 与开发环境配置(.dev.env)。Nacos 是集中管理服务配置的配置中心,延续上周密钥迁入配置中心的工作;邮件端口和 SSL 在使用时解析,短信密钥、区域、endpoint、签名和模板码支持运行期变化。
        • 实施 开发环境切换加州节点 142.171.225.20,补齐域名、内外网 IP、Coturn 与 PostgreSQL 参数。Meilisearch(搜索服务)API key、Redis connect-timeout、spring.application.group 与安全白名单统一配置命名,移除无效 AOT 开关。
        • 实施 Redis(缓存服务)操作超时由 3→5 秒、连接超时由 5→15 秒,最大空闲连接由 10→30;公共 MQTT(设备消息协议)帐号未配置时回退内置帐号,四类登录接口返回可用凭证。云节点列表为空时,以本机 master 节点兜底。
        • 重构 双服务移除无人使用的 systemKeyBytesCache,清理它的 7 天双层缓存;主服务字符串缓存设置 10 秒有效期(TTL)。
        • 设计 补充 MQTT 凭证回退、设备通知用户识别、中央配置与主服务安全配置说明。
        • 实施 短信发送日志区分成功和失败,最终保留手机号、Code 与 Message,清理不再使用的 BizId 字段。
      • ✅ 短信管理页撤下,直播信令与法律协议同步调整 〔es-center-server-web-app〕
        • 实施 移除短信(sms)配置、路由和 mock 数据;需求明确等真正开发管理界面时再做,现阶段复用 Nacos 自带管理界面。
        • 实施 播放端发现设备处于另一客户端的 P2P 直连占用状态时发送 call 信令,通知设备转入 SFU 转发模式。ping、媒体获取与设置加入 500ms 节流,四个 WebRTC(实时音视频通信)组件统一空值判断,移除旧等待机制。
        • 设计 调整隐私政策和用户协议的中英文文案。
    • 1-07 ~ 1-09: 代码审查与跨模块整改
      • ✅ qoder 多轮扫描形成报告,后端按报告逐项修复 〔es-center-server-services〕
        • 审查 qoder 扫描代码质量与安全问题。报告覆盖 SQL 注入、空指针异常(NPE)、资源泄漏、并发、异常处理、死循环与性能、配置依赖;另有编码规范和综合质量复审。报告按日期整理,供后续轮次核对。
        • 实施 修复权限、配置、核心、用户中心、设备和主服务模块:验证码生成失败显式报错,NFC 与设备消息缺数据时回退空 Map,未知媒体值用 UNKNOWN,设备验签只在混淆码存在时执行;纠正手机验证码错误文案。
        • 重构 17 处集合判断迁到 Apache Commons,依赖上移公共核心库;71 个文件统一空值判断和字符串拆分。树构造遇空子节点及时返回,敏感设备/指纹密码日志与废弃消息监听器清理。
        • 实施 JWT(登录凭证)签名键与默认加密密钥迁入 Nacos,上传上限由 100MB→16MB。加密器按密钥缓存,最多 1000 项、闲置 30 分钟过期;短信客户端缓存最多两个、3 分钟过期,回收时主动关闭。
        • 实施 补齐 Redis Stream、虚拟线程池与短信客户端销毁链;翻译队列取出与移除合并并加同步保护。多类 1 秒调度改为 3 秒,设备在线分页上限设为 10000 页。
        • 重构 事务注解移到公开接口,统一异常回滚;租户上下文增加 Consumer 契约,登录员工查询去掉单线程场景的 AtomicReference。主服务与设备服务同时做性能优化,暂停未成熟的设备密码/帐号删除副作用。
        • 实施 设备个人空间绑定增加 force 字段,支持 V1/V2 授权码及 force=true 强制换绑,兼容二维码与蓝牙入口。SpringDoc 未配置版本时回退 2.0.1。
    • 1-05 ~ 1-09: 租户登录态与工程管理
      • ✅ 租户切换返回完整登录态,前后端同步更新凭证 〔es-center-server-services〕
        • 实施 租户解析先取 ThreadLocal(当前线程的租户上下文),之后读取 Token 的 tenantId,再回退用户名缓存;登录链路删除显式缓存写入。切换租户从仅返回 tenantId 改为返回完整登录响应,避免历史多地账户共用造成界面混乱。
        • 实施 1-08 ~ 1-09,新增 git-manage.sh,整理多仓日常 Git 操作;Gradle 构建配置同步调整。
        • 设计 GIT-MANAGE.md 记录脚本用法,AGENTS.md 记录依赖、检查和执行规范。
        • 重构 清理旧脚本、IDE 与 qoder 临时产物。
        • 实施 工程版本从 1.1.0 升到 2.0.1,建立 2.0.1-cn-1-yaoht-20260109 分支记录。
      • ✅ 两个租户切换入口适配新响应 〔es-center-server-web-app〕
        • 实施 租户列表页和 switch-tenant 组件同步写入 authorization/username/tenantId Cookie 与登录状态,重置凭证刷新时间;前端路由与客户端侧代码继续迭代。
        • 实施 更新 GIT-MANAGE.md,两仓同步建立版本分支;前端保留 2.0.1-cn-1-yaoht 分支标识。
    • 1-05 ~ 1-09: 安装与多节点分发
      • ✅ 各服务器的部署、上传和构建入口分别完善 〔es-center-server-install-app〕
        • 实施 为 zxs、zxs-cs、zxs-ls、zxs-ca、hs 各目标完善部署与上传脚本;build.sh 与 Python 命令行安装程序 cli.py 同步调整,上传脚本接受统一 VERSION 参数。
        • 实施 主服务和设备服务 Compose 通过 env_file 读取统一 .env,透传内外网 IP。Redis 最大内存从 100 MB 提到 200 MB,基础组件启动等待统一到 8 秒,Meilisearch 密钥改用 API Key 命名。
        • 实施 CS-1 停用升级后自动 SSL 刷新;GE CA 解压和传输路径统一为 /tmp,以 cert-bot 刷新证书。目标辅助脚本使用绝对路径,明确构建机上传、目标机部署的分工。
        • 实施 发布物从 2.0.0 推进到 2.0.1,同步 01-06、01-07、01-08、01-09 构建与目标引用;校正同日构建时间戳。临时网盘备份随后撤下,自动上传范围最终收紧为 CS 测试目标,停用 CA。
      • ✅ 四个目标的镜像分发方式同步,漏传产物补齐 〔es-center-server-build〕
        • 实施 增加 lftp/SFTP 直传与备用二次转发步骤,补齐 Web 和设备服务镜像;随后删除重复转发块。Web、主服务和设备服务从 2.0.0 01-06 构建同步到 2.0.1 01-07,统一 SCP、SFTP 与加载命令。
      • ✅ 两个云节点可按目标独立分发升级包 〔es-server-deploy〕
        • 实施 cloud-1 与 cloud-4 建立按版本上传的脚本,覆盖主节点、长沙、河山和加拿大;多目标串行流程拆成目标专用脚本,加拿大中转目录统一为 /tmp,补充 Nominatim 镜像迁移后的登录入口。
      • ✅ 更新日志与安装手册跟随配置和版本调整 〔es-ext-doc-website〕
        • 实施 补记 01-06 Nacos 默认配置、P2P 转 SFU、密钥集中化和依赖升级;手册同步运行容器、EMQX API 凭据、Nginx/服务镜像、Redis 内存、JVM 百分比内存参数、Meilisearch Key 与完整 Nacos 环境变量。

其它工作

  • 目标: 记录日常杂项工作、协作沟通等事务
  • 进度: 🔘 未开始 -> 🟡 进行中 -> ⚠️ 部分完成 -> ✅ 已完成 -> 📌 已自测
    • 📌 以往已自测工作不再重复,详情请查看上周及上月报告
    • 1-04(原 2026/01-04 遗留页并入)
      • ✅ 实施 制作最新版本国际版,先上传至 zxs-ca 服务器,再经该服务器跳板传送至 122.180.154.103(印度客户服务器)
      • ✅ 协作 配合测试 122.180.154.103,验证 /main-service/main-api/v1/general/device/data-acquisition-device/getDeviceData 接口返回数据是否正确
    • 1-05
      • ✅ 实施 将改进后的新版本制作安装及升级程序,部署至 zxs-cs 与 zxs-ca 服务器开展测试
    • 1-06
      • ✅ 排障 检查短信无法接收的原因: 在王工协助下排查,定位为联通和移动运营商的短信审核机制所致,需在阿里云短信平台提交相关流程完成审核后恢复
      • ✅ 实施 BCMS 系统 WebRTC 直播优化: 设备处于 P2P 占用状态时,支持播放端发送 call 信令通知设备切换至 SFU 模式,由播放端用户主动控制取代设备端自动切换
      • ✅ 实施 将改进后的新版本制作安装及升级程序,部署至 zxs-cs 与 zxs-ca 服务器开展测试
      • ✅ 协作 协助处理巴西 KH2248 项目客户所需的历史安装程序: 在 zxs 服务器找到 /home/tmp/es-center-server-install-app-1.1.0-202507151703.tar.gz 与对应升级包
      • ✅ 实施 优化境外升级包上传方式: 由本机直传(约十几 KB/s)改为经 zxs 服务器中转上传,速度提升至约 1MB/s
    • 1-07
      • ✅ 排障 排查 WebRTC 直播无效重连: 连接中断后重连未能恢复音视频传输,已定位部分异常状态未被正确处理,优化连接状态判断逻辑与重连触发条件
      • ✅ 实施 将改进后的新版本制作安装及升级程序,部署至 zxs-cs 与 zxs-ca 服务器开展测试
    • 1-08
      • ✅ 排障 跟进王工的测试结果,修复租户切换无效问题: 后端租户切换接口与前端相关逻辑同步调整
      • ✅ 实施 将修复 BUG 后的新版本制作安装及升级程序,部署至 zxs-cs 与 zxs-ca 服务器开展测试
    • 1-09
      • ✅ 排障 巴西 KH2248 项目: 针对客户反馈的自行部署服务器设备不出图情况完成排查
      • ✅ 协作 BCMS App api 绑定接口改进沟通
      • ✅ 实施 BCMS 协议更新: 去除公司相关信息并翻译为英文版,共四个文件
      • ✅ 实施 将改进后的新版本制作安装及升级程序,部署至 zxs-cs 与 zxs-ca 服务器开展测试
    • 补录(原 2026/01-04 遗留页独有工作项)
      • ✅ 设计 客户独立部署版本初次安装无需手动配置 Nacos: 系统提供合理默认值,确保各业务流程正常运行(轻量化跨境分布式第二阶段改造目标之一)
      • ✅ 设计 评估后端升级 Spring Boot 4.x 与 JDK 23 的必要性与兼容性; 前端同步评估第三方依赖升级后的样式兼容
      • ✅ 实施 一键安装/升级程序常用第三方中间件版本升级,部署至 192.168.1.60 及 zxs-cs 服务器测试
      • ✅ 实施 登录用户状态仅通过 token 获取、不从缓存读取,保证多设备/多页面同时登录时租户状态与当前界面所选租户一致
      • ✅ 实施 使用 opencode 与阿里云 Qwen-Plus 对后端四轮全面扫描复查,逐轮改进后重扫,第四轮已无问题(报告存于本页 reports/ 目录)

总结

  • 租户登录态:修复历史多地账户共用引起的租户界面混乱。从登录凭证(Token)实时取得租户信息,切换时同步更新 Token,租户信息不再错位。
  • 独立部署配置:修正客户独立部署版本误接官方 Nacos 的问题,改为接入本地 Nacos 服务。
  • 密钥管理:阿里云短信、腾讯企业邮箱等密钥从本地文件迁入 Nacos。生产环境动态加载,独立部署版本默认不含敏感配置项,仍需手动配置。
  • 审查与修复分工:顶级 AI 模型深度审查后端并生成报告,发现的质量问题和潜在缺陷由人手动修复。本轮选择让 AI 提供检查输入,由人控制代码修改及风险,不将这项分工扩大为全面质量保证。

备忘

  • 🟢 根据韦工提供的 TOKEN生成规则.xlsx 文档,为 BCMS App api 绑定接口添加新的业务逻辑。
  • 🟢 在长沙的开发服务器上安装数据同步所需的中间件,并完成相应的配置与性能调优。
  • 🟢 将各中间件进行串联整合,验证整体链路的连通性及对服务器资源的需求。
Last updated on