Skip to Content

2025年12月29日

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

中心服务平台 - 轻量化跨境分布式第二阶段改造

  • 进度: 🔘 未开始 -> 🟡 进行中 -> ⚠️ 部分完成 -> ✅ 已完成 -> 📌 已自测
    • 以往已完成的工作不再重复,详情请查看上周及上月报告
    • 〔工作量〕services 35 次(设计 5 · 代码 30)· 代码 +0.9k/-0.4k | web-app 6 次(设计 2 · 代码 4)| install-app 26 次 | ext-doc 5 次(设计 4 · 代码 1)
    • 〔方法论〕Nacos 帐号密钥集中化管理 | EMQX API Key 安装程序自动生成 | 启动主动检测设备在线替代停用的状态记录服务 | 敏感凭据服务端注入避免客户端泄露
    • 12-29 ~ 12-30: 跨境通用 App MQTT 帐号体系(Nacos 集中管理)
      • ✅ 统一帐号密码管理 〔services / install-app〕
        • 设计 帐号密码池集中管理方案: 池容量上限 6 组、每周新增一组、每月最多新增一组;池满 6 组时将第 6 组旧帐号移至首位并更新其密码,尽量避免修改已有帐号密码,以防在运行的 App 因认证失败而无法连接 EMQX
        • 实施 通过 Nacos 服务实现所有服务器共用的 App MQTT 帐号与密码池集中管理
      • ✅ 配置同步机制 〔services〕
        • 实施 各节点服务器从 Nacos 获取最新帐号/密码池,同步写入 EMQX 依赖的 Redis(含帐号、密码及相应权限配置);发生新增或变更时确保各节点及时、准确更新,保障服务一致性
      • ✅ 安全凭证分发 〔services〕
        • 实施 App 调用手机或邮箱登录后的 /logind 接口时,返回通用 MQTT 帐号密码池中的第一组有效凭证,避免将固定帐号密码硬编码在客户端
    • 12-29 ~ 01-04: 印度客户本地 Nacos 部署与多服务器版本管理
      • ✅ 印度客户本地 Nacos 部署方案 〔install-app / services〕
        • 设计 为客户独立部署版本(如印度客户)默认连接本地服务器 Nacos,相关配置在安装/升级包中预先设定;若需在公司非主节点运行并连接主节点 Nacos,可通过修改 .env 的 NACOS 参数切换,区分运行环境、避免配置混淆
        • 实施 安装与升级程序具备自动安装和升级 Nacos 服务的能力
      • ✅ 多服务器部署与版本管理 〔install-app / services / web-app〕
        • 实施 zxszxs-hszxs-cszxs-ca 等多服务器部署脚本、Docker Compose 与环境变量配置迭代
        • 实施 创建版本分支 2.0.0-cn-1-20260104(services、web-app、install-app 同步)
        • 设计 沉淀 GIT-MANAGE.md 统一 Git 管理流程

中心服务平台 - 安全加固及优化(性能、稳定性、用户体验)

  • 进度: 🔘 未开始 -> 🟡 进行中 -> ⚠️ 部分完成 -> ✅ 已完成 -> 📌 已自测
    • 12-29 ~ 01-04: device-service 启动在线检测与 EMQX API Key 自动化(稳定性)
      • ✅ device-service 启动检测设备在线 〔services〕
        • 设计 两方案选型: 其一通过 MQTT 向所有设备发 ping 依响应判在线(复用现有通信通道、免额外认证、兼容性强、部署维护成本低,优先采用);其二调用 EMQX REST API 查询连接状态(需在 EMQX 后台预配 API 权限并生成密钥同步至中心服务器认证,部署运维复杂)。用于解决记录设备在线状态的服务一度停用期间,device-service 因升级、宕机或重启未能及时收到设备下线通知的问题
        • 实施 服务启动时执行初始化任务,通过 EMQX API 获取实时在线客户端列表
        • 实施 查询结果写入 Redis,写入前先清空原有 MQTT 在线状态缓存,降低 Redis 存储压力
        • 实施 每日凌晨 2 点定时执行清理,服务启动时同步触发一次,确保设备在线状态数据及时准确
      • ✅ EMQX API Key 自动化(安装/升级程序改造)〔install-app / services〕
        • 实施 改造安装或升级程序,生成随机 EMQX API Key 账号与密码,写入 .env 文件并自动生成对应 EMQX API KEY 配置文件
        • 实施 device-service.env 读取认证凭据,调用 EMQX 接口查询在线客户端设备信息
    • 12-29 ~ 12-31: 手机 App 接口安全加固(绑定授权码 · 日志 · Janus 凭据 · 解绑通知)
      • ✅ 设备绑定接口授权码机制 〔services〕
        • 设计 引入设备生成的授权码机制,用户经手机 App 采集设备授权码并提交服务端校验;服务端基于内部加密逻辑校验有效性,失败返回错误信息
        • 实施 校验成功后按三分支执行绑定: 无历史绑定记录 直接完成绑定;存在相同授权码 时,用户名一致返回”重复绑定”、不一致返回”设备已绑定至用户: xxx”;存在不同授权码 时,用户名一致则更新授权码、不一致则执行授权切换(更新授权码、解绑原用户、绑定新用户)
      • ✅ API 关键接口日志 〔services〕
        • 实施 对手机 App 调用服务端 API 的关键接口记录日志,确保重要操作可追溯、责任可追究
      • ✅ Janus admin_secret 服务端注入 〔services〕
        • 实施 调用 Janus Admin API 所需的 admin_secret 改由服务器转发请求时动态添加,再发送至对应 Janus 分布式节点,避免敏感信息硬编码泄露至客户端;Web 前端与设备端查询房间人数功能调用该 Admin API
      • ✅ 解绑/强制绑定通知(标识改手机号/邮箱)〔services〕
        • 实施 解绑或强制绑定设备时通知所有相关用户刷新设备列表,按 App 自定义协议发送,确保已解绑设备及时从列表移除
        • 实施 接口中用户标识由用户名优化为手机号或邮箱,经用户与手机号/邮箱的绑定关系查询获取,确保信息准确且便于用户识别
    • 12-29 ~ 12-31: EMQX 8883 证书与跨租户重复设备禁止
      • ✅ EMQX 8883 端口证书绑定 〔services / install-app〕
        • 实施 为服务器 EMQX 服务 8883 端口配置证书绑定,优先考虑 Let’s Encrypt 免费证书方案
      • ✅ 跨租户重复设备禁止 〔services〕
        • 实施 新增、修改或通过 Excel 导入设备、采集服务器及采集盒时,禁止添加已在其他租户中存在的重复项
    • 12-29 ~ 12-31: Web 前端省电省流与 SFU 关键帧优化
      • ✅ 省电省流方案前端改造 〔web-app〕
        • 实施 梳理并完成设备与手机端省电省流方案所需的 Web 前端修改,部署至 zxszxs-hszxs-cszxs-ca 四台服务器测试通过
      • ✅ Web 端 ping 机制优化 〔web-app〕
        • 协作 与孙工讨论 Web 端 ping 机制
        • 实施 优化冗余判断逻辑、调整 ping 发送频率,提升稳定性与响应效率,部署四台服务器测试通过
      • ✅ SFU 关键帧推送优化 〔web-app〕
        • 实施 优化 SFU 模式下通知设备快速推送关键帧的代码逻辑,提升小幅画面出图速度

嵌入式 web 前端 - 巴西客户定制需求

  • 进度: 🔘 未开始 -> 🟡 进行中 -> ⚠️ 部分完成 -> ✅ 已完成 -> 📌 已自测
    • 🟡 对 802.1X 功能进行重构: 龚工交接的代码可读性较差,存在大量不符合 React 规范的写法,维护成本较高
      • 实施 深入理解 802.1X 需求
      • 重构 修复 BUG 过程中重构代码,提升结构清晰度与可维护性,便于后续开发与问题排查

外部文档站 - 2.0.0 用户手册编写

  • 进度: 🔘 未开始 -> 🟡 进行中 -> ⚠️ 部分完成 -> ✅ 已完成 -> 📌 已自测
    • ✅ 2.0.0 用户手册与变更日志 〔ext-doc〕
      • 设计 新建 2.0.0 用户手册,记录后端服务系统(核心服务模块、业务模块、通用组件)与前端 Web 应用(UI 组件系统、框架技术)的功能清单
      • 设计 多轮大幅改写优化手册结构与表述、完善功能清单描述
      • 设计 扩充 2.0.0 变更日志,记录功能优化与问题修复

其它工作

  • 目标: 记录日常耗时的杂项工作、协作事项,以及必要的沟通、讨论等隐性事务。
  • 进度: 🔘 未开始 -> 🟡 进行中 -> ⚠️ 部分完成 -> ✅ 已完成 -> 📌 已自测
    • 29 日
      • ✅ 用户协议及隐私协议的 Markdown 排版格式改进
      • ✅ 制作最新的安装及升级程序,部署到 zxs-cszxs-ca 服务器,验证 EMQX 配置 API KEY 的正确性
    • 30 日
      • ✅ 优化设备在线状态同步逻辑,减少性能消耗
      • ✅ 制作最新的安装与升级程序,部署至 zxs-cszxs-ca 服务器;针对”假在线”问题进行多轮测试——手动停止 device-service 服务后再断开设备连接,随后重启服务,验证此前因服务中断而离线的设备能否被准确自动维护为离线状态,确保设备上下线状态同步无误
      • ✅ 手机 App 帐号注销接口需清理的数据(账号注销时均需按流程逐一清除,确保信息彻底解绑并删除):
        • 自身绑定的设备
        • 已分享给其他用户的设备
        • 其他用户分享给该用户的设备
        • 手机号与用户之间的绑定关系
        • 邮箱与用户之间的绑定关系
        • 用户与租户之间的绑定关系
        • 用户专属租户
        • 用户账户本身
      • ✅ 制作最新的安装与升级程序,部署至 zxs 服务器,提供给 App 联调使用
    • 31 日
      • ✅ 验证从家中带到公司的花生棒是否可用: 该设备为十年前购买,若已损坏则需重新购置;因需开发对接苹果回调的接口,必须通过公网访问穿透连通内网中的开发电脑
      • ✅ 使用 zxs-cszxs-ca 服务器对集成了 Nacos 的安装程序及升级程序进行测试
    • 01 日
      • ✅ 使用 zxszxs-hs 服务器更新为最新版本
Last updated on