2026年08月17日
内容截止日: 2026年08月23日
本周工作计划与执行完成进度
中心服务平台 - 功能完善
- 进度: 🔘 未开始 -> 🟡 进行中 -> ⚠️ 部分完成 -> ✅ 已完成 -> 📌 已自测
以往已完成的工作不再重复,详情请查看上周及上月报告- 〔工作量〕es-center-server-services 190 次(设计 81 · 代码 109)· 代码 +20.0k/-9.3k | es-center-server-web-app 132 次(设计 43 · 代码 89)· 代码 +8.8k/-6.6k | es-center-server-install-app 6 次 · 代码 +0.1k/-0.1k | es-ext-doc-website 4 次(设计 4 · 代码 0) | es-center-server-build 1 次 · 代码 +0.1k
- 〔方法论〕审查终报驱动整改 | 租户写边界与真实数据库回归 | 成熟能力复用四层判定 | 权限语义按权威来源校准 | MQTT 通道按消费者划分 | 退役前双采样验证 | 模块加深与真实交互回归
- 8-17: 审查终报与匿名边界
- ✅ 冻结审查终报发布,问题按独立整改计划推进 〔es-center-server-services〕
审查发布 BASE→END(审查起点至冻结终点)唯一正式报告,汇合覆盖账本、跨域裁决与 END 内容验证三门禁。最终为 15 个破坏性 bug、46 个条件性风险、106 项标准问题;空白格式差异仍失败,真实环境 E2E(端到端测试)未验证。设计依据终报定义 34 张本地整改票与 317 行 spec(规格),修订 3 份 ADR(架构决策记录),新增 2 份 ADR,分别约定设备授权码读取及设备对讲群组绑定增量。
- ✅ 白名单成为唯一匿名入口边界,废弃公开接口删除 〔es-center-server-services〕
设计ADR-0024 明确两服务只有全局白名单匹配才可匿名,方法授权只表达更窄的角色/资源边界。测试两份契约测试核对白名单行为,形成可回归合同。实施整体删除缓存任意读写与对讲群组 count(计数)端点及支撑链。测试新增合同测试断言退役路由不再可达,保留前端交接说明。
- ✅ Agent 指令改为单一正文,预算余量的使用边界写清 〔es-center-server-web-app〕
设计ADR 0027 将 AGENTS.md 定为唯一正文,CLAUDE.md 改为一行引用;拆票预算双线措辞精化,硬线改称强制交接线,达到后完成最小闭环再交接,余量用于安全边界。
- ✅ 冻结审查终报发布,问题按独立整改计划推进 〔es-center-server-services〕
- 8-17: 租户写入与绑定边界
- ✅ 群组设备绑定限制租户写入,采集绑定只读当前有效关系 〔es-center-server-services〕
实施save/saveBatch 由服务端下发租户,save 强制置空请求租户以阻止 UPDATE 改分区列;四处群组/设备查询共用数据权限范围并复制查询条件。重构评审后合并数据域处理的重载,消除重复实现。实施采集服务器绑定新增当前态查询,软删(逻辑删除)过滤升为固定谓词,恢复列表授权;DMS(设备媒体服务)按设备号/设备 ID 检索只读取端点有效的绑定。重构当前态 detail(详情)查询抽为共用片段。重构两条采集检索路径抽取共用端点 gate(准入条件),消除孤儿过滤不一致。测试补齐采集读取断言,核对同一准入条件。审查采集读取评审发现关闭。
- ✅ 员工、参考配置和权限域统一写入本租户 〔es-center-server-services〕
实施员工/组织 8 个服务 save 置空请求租户,保存与导入由认证上下文下发租户;恢复组织授权,BMC(采集工作站)JMS 监听以消息信封为租户来源。实施员工用户查重下沉 service(服务层)默认方法,update 排除自身记录且不再更新 username。实施参考配置 8 个 controller(接口控制层)下发/置空租户,恢复字典授权并将租户纳入主键;权限域 9 个 controller 统一下发/置空,修正受保护角色校验。测试员工域 833 行、参考配置 691 行、权限域 554 行契约测试分别覆盖写入、授权与受保护角色;参考配置 upsert(存在则更新、否则插入)分支另补测试。
- ✅ 消息、翻译与用户租户关系补齐写入边界 〔es-center-server-services〕
实施消息域 14 个 controller 下发/置空租户,翻译 save/update 同样处理;用户—租户绑定增加管理员专属入口,按目标租户去重与计数,普通用户读取当前租户并恢复自助入口。测试消息域 921 行、翻译 153 行、用户租户关系 615 行契约测试分别核对边界及自助行为。
- ✅ 群组设备绑定限制租户写入,采集绑定只读当前有效关系 〔es-center-server-services〕
- 8-17: 对讲前端审查整改
- ✅ Talkgroup 整改 08~16 完成,重复实现与权限误拦修正 〔es-center-server-web-app〕
重构ensureRoom/pushPttConfig(确保房间/推送配置)迁回统一 softFail(局部降级)封装,恢复状态检查并删除静默吞错;ApiResult(接口结果类型)归并为域级 MainApiResult。重构room 实时侧五项机械调整完成:守卫归一、attempt 改名、断言与死字段清理;WebRTC 调试日志整链删除,信令/ICE 正文不再产出。实施读权限 gate 对齐后端权限 key,双 key 逐项 AND(三函数统一)。测试表驱动测试核对读权限的放行和误拦。测试三文件契约测试补齐,共 74 用例,分别覆盖在线消息、分页及关系视图。审查05 票的 softFail 选项、body(响应/请求正文)签名及断言链清理已前置落地,核验后补记完成。重构relation(绑定关系)flag 判定三份拷贝统一,保存载荷复用 DTO(传输对象);主路由 JSX 的 disclosure(按需披露)抽成有状态 Popover(弹层)壳,空/错态共用渲染,分页局部控件合并,DOM 零变化。重构删除编辑器死 prop(组件参数),补 beforeunload(刷新/关闭前提醒)守卫;候选不预过滤的原有设计保留。断点 hook(可复用逻辑函数)与加载态移到父级,手写占位改 Skeleton(骨架屏)。
- ✅ 复用按四层顺序判断,权限函数先按 Shiro 语义调整 〔es-center-server-web-app〕
设计ADR 0028 明确零 JS → ahooks(现成 React hooks)→ 共享库 → 三方库的顺序,发布 5 张整改票,grep 核对标的有效。重构票 01/02/03 完成断点单一注册、ahooks 等价替换及共享函数提炼;ADR 0029 规定 AutoImport(自动导入)消费纪律。重构票 04 完整同步 Apache Shiro 权限命名和语义:ALL 要求全部命中,改名 96 处并建立组合判定函数;登出/停用权限占位改为失败关闭。设计票 05 的 repo-wiki 复用样板手册交付,291 行包含真实 diff 对照与 Shiro 考据;realtime 补 AudioBridge(音频会议插件)说明,自听不可用来自 Janus 混音机制,PTT 本地门控与收听分离。
- ✅ Talkgroup 整改 08~16 完成,重复实现与权限误拦修正 〔es-center-server-web-app〕
- 8-17: 错误 i18n 与权限回归
- ✅ 数据驱动调用点补查后,Any 家族与错误 i18n 翻译完成修正 〔es-center-server-web-app〕
审查纠偏前一轮仅查字面量的复核:漏掉数据驱动多角色调用,ALL 误用于 report 菜单使 administrator 单角色看不到入口。设计发布 spec 与 4 张整改票,按 2×3 对称矩阵定义角色/权限的 All、Any 与组合语义。重构票 01 恢复 auth(权限判定)Any 家族,All/Any 组合函数对称拆分。测试契约矩阵由 22 例扩到 42 例,核对 All/Any 对称语义。重构票 02 将 nav(导航)可见性统一为递归纯函数,恢复 report 菜单 Any 判断,避免共享导航数据被原地修改。重构票 03 错误描述统一为翻译 key→译文、非 key→原文;技术文案进入缺失翻译上报,非字符串拒绝保留 fallback(兜底文案)。重构票 04 将业务拒绝判定与组合提炼到共享层。测试17 例测试随迁;人工菜单可见性验证保留待人工执行状态。
- ✅ 数据驱动调用点补查后,Any 家族与错误 i18n 翻译完成修正 〔es-center-server-web-app〕
- 8-18: 登录、字典与固件合同
- ✅ 四个登录入口共用凭证装配,认证与上传边界收紧 〔es-center-server-services〕
实施User、UserEmail、UserPhoneNumber、ThirdPartyAccount 四入口共用 claims(登录凭证中的用户信息)装配:管理员固定 default 租户,普通用户恢复上次租户,员工与组织投影统一。实施JWT(登录令牌)异常安全返回 401,技术失败 500 兜底,绑定异常 400;上传参数只接受单一安全路径段,词法/物理包含双重核对后才访问文件。实施签名 key 与携带 payload(完整消息内容)的异常不再渲染进敏感日志,保留业务标识和异常类型。测试认证/绑定 736 行、上传路径 176 行、日志脱敏 360 行测试分别核对约束。
- ✅ 字典增加公共默认兜底,固件保存恢复对象型请求 〔es-center-server-services〕
实施字典 listCache(列表缓存)按业务租户优先合并 default 并去重,自定义默认上限;缺失翻译摄取与验证邮件固定 default 租户,单请求上限 500。重构字典兜底支持移入公开 function 包供两入口复用。实施通用固件保存恢复对象型 binaryHeader(固件二进制头):手写 HTTP DTO 接收对象后编码为 JSON,不接受字符串双形态。重构BeanUtils(同名字段复制工具)复制普通字段,binaryHeader 类型不兼容时跳过后显式编码。测试字典 599 行契约测试,固件测试核对规范 JSON 与普通字段存活。
- ✅ 四个登录入口共用凭证装配,认证与上传边界收紧 〔es-center-server-services〕
- 8-18: 同栈对标与发布档位
- ✅ 开源同栈对标形成 P0/P1 清单,四项 P0 完成 〔es-center-server-web-app〕
设计深挖 Plane/Metabase/Grafana/Appsmith 4 个 OSS(开源项目)并裁决,P0 四项为 CI 门禁、规范微条目、表格模式、依赖导入限制,P1 保留可观测性与 E2E 排产。实施pnpm verify 聚合检查入口及流水线文档建立,按顺序执行类型、lint、单测、格式检查,失败即停止,build 另行执行。设计AGENTS.md 编码微约定五条、STANDARDS 索引和 patterns.md 表格三件套补齐,STANDARDS §1 增表格入口。实施xlsx/html2canvas/proj4 禁止直接静态导入,仅允许 lazy 封装等技术类别例外;html2canvas 移出 AutoImport。测试实测验证重型依赖导入门禁。设计P0 四项 spec 与拆票发布,各项分别限定实施与验收。
- ✅ P1 两项 Faro 与 Playwright 核心场景规格及排产发布 〔es-center-server-web-app〕
设计Faro(前端运行监控方案)简化版 spec 与 5 张票发布,估 3.5~4.5 天,含跨仓协作。设计Playwright E2E 核心冒烟 spec 与 6 张票发布,估 5~8 天;补自动登录裁决,涵盖验证码后门、env 分法和程序化切租户。
- ✅ 开源同栈对标形成 P0/P1 清单,四项 P0 完成 〔es-center-server-web-app〕
- 8-18: 英文构建与规范入口
- ✅ 英文构建档位新增,发布批次推进到 08-18 〔es-center-server-build〕
实施发布物由 08-04 推进到 08-18,构建脚本第三参 FLAVOR(构建档位)原样传递;版本/时间经 Docker ARG 注入,配合前端 Vite 环境变量优先级,为 18 日 zxs-test 部署准备。
- ✅ 前端支持 build:en/dev:en,规则正文从入口下沉 〔es-center-server-web-app〕
实施档位定义集中到前端,未注入版本/时间占位符即终止构建。设计AGENTS.md 渐进瘦身先修引用漂移、压缩核心规则,再将场景规范迁入 STANDARDS,主体由 191 行减到 91 行;ADR 0030 取代原双写纪律,陈旧草稿与链接清理。设计跨仓预算改为 1M 窗口的 3/8 与 5/8,ADR 0031 与 STANDARDS 四处同步编码规则。
- ✅ 英文构建档位新增,发布批次推进到 08-18 〔es-center-server-build〕
- 8-18 ~ 8-19: 设备修复与真库回归
- ✅ 授权码与旧设备路由恢复,Janus 读取限制活跃记录 〔es-center-server-services〕
实施三个手写读投影补授权码列,设备列表/缓存/分页与零售详情恢复返回绑定授权码。测试合同测试核对四条授权码读语句。实施Janus(实时音视频网关)保存/删除补租户安全边界,密钥只从父子均活跃记录解析,排除软删与跨租户孤儿。测试两层合同测试核对 Janus 生命周期。实施Normal 上行只接受恰为一个完整合法 JSON 对象的输入,截断 JSON 与尾随垃圾拒绝,四个入口统一接入。实施平台模拟 retrieve(配置获取)先增加来源标记,配置仍下发但不把断线物理设备标在线;IotV1 失败路径先定唯一终态再回包,成功后不再补失败包。排障旧设备 webrtc retrieve/telemetry 被 default 路由吞掉、拿不到 ICE 的问题修复,对应 18 日线上回复消失排障。
- ✅ BMC 绑定列表改为专用查询,六组时间过滤与真库回归补齐 〔es-center-server-services〕
实施专用手写投影直接返回六列生命周期字段,按设备 + 目标服务器取最新关系,保留活跃和软删行,上限 10,000;绑定/设备各自的创建、修改、删除组成六组时间过滤,参数成对且先后合法才放行。设计ADR-0025 明确测试服务器使用边界及集成测试规则,五张改手写 SQL 的票补真实 PostgreSQL 回归;handler-method-validation-400 与前端可观测性接收端点另立排产。测试真库核对 BMC 生命周期、六区间、采集有效端点、管理密钥和授权码投影;throwaway schema(一次性临时数据库模式)预置软删、孤儿、跨租户及同号重建数据。实施JDBC(数据库连接)接缝做跨境稳定性调优。
- ✅ 快照触发器与目录扫描加固,部署预检手册交付 〔es-center-server-services〕
实施领取/归还、位置/状态、box/fingerprint/NFC 使用及 data-sync 快照触发器按正常路径先确保子表存在;DELETE 以各自业务身份和租户限定,避免跨租户误删,扫描目录流及时关闭。测试真库接缝先复现失败再修复转绿,覆盖快照首次子表与替换语义。实施NFC notify-ready 员工号改取匹配员工,遗留 boxId 当 deviceId 的认领清理分支删除。设计集成交付审计记录实际整改与真库状态;部署预检手册列全活跃配置、遗留 Artemis 队列、群组凭据缺口、采集孤儿、签名密钥日志金丝雀与 BMC 六列切换核查。
- ✅ 授权码与旧设备路由恢复,Janus 读取限制活跃记录 〔es-center-server-services〕
- 8-19: 权限与 MQTT 通道
- ✅ 权限判定分三族,两服务协议错误行为对齐 〔es-center-server-services〕
设计ADR-0026 将 Subject(当前用户权限主体)六入口分 Any/All/Not 三族。实施判定委托下沉 Subject,设备创建门控改用 isPermittedAny 保持行为,两服务适配器成为薄委托,All 真正要求全部命中;绑定/类型/方法/媒体类型/无资源五类错误对齐为良性 4xx。测试Subject 157 行真值表及 Web/绑定合同逐类核对。
- ✅ 通用规则与前端对齐,MQTT 来源和消费者职责统一 〔es-center-server-services〕
设计ADR-0027 对齐 6 项通用规则,ADR-0028 区分 ByTenantId 租户查询与投影;api-design §6、AGENTS 微约定及拆票预算单源化,跨仓差异清单 51 行交付。设计ADR-0029/0030 约定 mqttSourceTopic(消息真实来源主题)及按通道拆 destination(消息目的队列),ADR-0015/0016 补修订注。实施入站消息统一附来源;iot/ptt/webrtc 三族各拆 retrieve/telemetry 共六通道,检索与遥测提炼两个共享 Function。Janus 转发共用家族基类,每消息一次异步跳转。实施删除 08-18 的 pttRetrieveOrigin 负向标记,D2 推送恢复裸 payload,改用正向来源事实判断;评审后 destination 常量化,V1Params 统一载荷提取,死方法及冗余注释清理。评审消费者家族评审明确同一数据流命名一致,形成编码微约定。设计ADR-0031 将通道合同交给消费者持有,MqttConfig 只表达调度。重构janus 物理 from 正则单源;六通道与 Sys 各持 destination 和来源谓词,网关移除 Pattern/裸字面量,JanusTopics TO/FROM/inbound 常量移入对应消费者。设计编码微约定第 6 条补齐。
- ✅ 权限判定分三族,两服务协议错误行为对齐 〔es-center-server-services〕
- 8-19: 设备请离与 i18n
- ✅ 设备请离增加资格检查、确认与防重,真实报文完成核对 〔es-center-server-web-app〕
设计请离(通知设备成员退出房间)拆成 6 张票:命令契约、资格门控、确认、pending 反馈、校验抽取、ADR 修订。实施票 01 kick(请离)镜像 join(加入)hook,错误分三阶段,发布前校验并脱敏;票 02 destructive 请离入口按房间可用性/成员资格显示,票 03 受控单例弹窗确认后发布,关闭路径不发布。实施票 04 pending(请求处理中)用 state/ref 双轨防并发重复,按钮与确认键同步禁用。失败脱敏 toast(短提示)保留弹窗原地重试,成功提示等待离开,成员状态只随出席事件更新;票 05 抽出 join/kick 共享校验。设计ADR 0033 记录 MQTT 实测双轨。测试12 例命令合同测试核对发布边界,mosquitto(MQTT 命令行工具)报文与冻结合同逐项一致。设计票 06 修订 ADR 0011 与对称术语;kick 不解绑、不改长期配置,是否离开以出席为准。ADR-0034 补预算动作义务,与 services 仓 ADR-0017 同文。
- ✅ 存量 i18n 文案纳入翻译,sentence case 统一适用于全部文案 〔es-center-server-web-app〕
设计i18n(多语言)清扫与同义收敛共识、spec 和 2 张票形成;STANDARDS §10 经当日两次裁决统一 sentence case(句首大写,GPS 等缩写保持大写),取消 Title Case 分类。实施票 01 将缩放档位、演示标题与 shadcn 生成物 7 文件全部交 t()(翻译函数)管理。测试核对 17 个新 key 上报获服务端 200,移动端隐藏说明与中英切换核对。设计文档健康 P0 完成:预算第三处副本收成指针 + resize 同步(ADR 0032),技能 50 个分锁管理 46 + 自研 4,排除理由直引上游。实施修正 run.sh 因 pre-commit 暂存恢复错乱产生的重复执行行。
- ✅ 设备请离增加资格检查、确认与防重,真实报文完成核对 〔es-center-server-web-app〕
- 8-20: 旧通道退役与回环守卫
- ✅ Sys 活跃事件独立处理,宽前缀转为精确白名单 〔es-center-server-services〕
设计ADR-0032 将生命周期与活跃事件二拆,写明「活跃即在线」和双写防假离线理由。实施活跃监听器承接六写,Manage* 26 类 destination 常量化,八类 16 处内联注解提取;网关宽前缀兜底改为 49 标签白名单,孤儿队列停止增长,未接住主题只记主题而不记 payload。
- ✅ 旧 web-ui 通道移除,旧前缀经双采样后整族删除 〔es-center-server-services〕
实施旧 web-ui 两条 Janus 通道整链移除,设备旧格式按固件确认边界保留。设计旧 server/center/ 前缀退役拆三票,尾斜杠精确匹配保护 center-server/ 的 16 条活通道;删除前必须核对 37 队列双采样零增长,ADR-0035 记录决策。测试真实环境 37 队列两次采样均零增长,硬门通过。评审维护者裁决旧 Redis ACL 残留不阻塞,本次不执行 Redis 删除。实施删除宽订阅与双账号 ACL,29 类消费者和基类及 DAS(设备采集服务)设备清单方法族摘除,直通白名单从 49 收到 12。
- ✅ retrieve 与 Janus 转发共用自地址回环守卫 〔es-center-server-services〕
设计ADR-0038 以来源主题与 reply(回复主题)等值判断替代前缀清单;ADR-0037 将房间回环按插件+领域命名,避免不同消费者竞争同一队列。实施iot/v1 retrieve 和 iot/webrtc 共用 Janus 转发入口在双非空且等值时丢弃并告警,缺席或空白来源按平台内部消息放行;topic-prefix 配置删除,接受至多 10 次有界污染的既定代价。重构MqttReplyTopicGuard 迁入 mqtt 领域包,两族共用。测试135 行守卫测试保留。
- ✅ WebRTC 独立 Janus 转发族建立,旧 iot 族保留过渡安排 〔es-center-server-services〕
设计ADR-0036 约定独立转发族及 iot 族约 2027-02 退役,CONTEXT 与两票记录同步。实施WebrtcV1 两消费者复用家族基类。测试634 行测试核对 WebRTC 转发及 admin 密钥注入。
- ✅ Sys 活跃事件独立处理,宽前缀转为精确白名单 〔es-center-server-services〕
- 8-20 ~ 8-21: 工程规则与兼容协议
- ✅ 编码微约定补到十条,既有违规按授权范围修正 〔es-center-server-services〕
设计黄山版 Java 手册 840 行转换稿作为非权威参考;微约定从七条增至十条,要求评审纠正落档。spec 分 5 组点名违规与全仓布尔裸判两主线,UtilityClass(纯静态工具类)新建与迁移分设门禁。实施三组点名写法保持行为不变,IotV1 入口只接 payload 与 mqttSourceTopic,来源布尔值在入口派生;ADR-0029 补合同,全仓布尔判空按微约定统一。测试五组 MQTT 来源 fixture(测试样本)统一正文、来源属性及 IoT/PTT 名称。
- ✅ 构建规则更新,认证错误字符串保留兼容边界 〔es-center-server-services〕
实施server/janus/to 对称改名,MQTT topic 不动,旧 web-ui 零感知;ExceptionAdvice 魔法值提常量,Spring Boot 插件固定 3.5.16,ADR-0034 保留终版选择。审查jasypt CVE 核实为不适用。设计设备指南补 Web 请离 sub:“kick”,认证异常兼容合同说明既有消费者与安全协议责任。测试join/kick 合同经真实 EMQX 验证。实施两服务认证响应补兼容值,禁止回传原始异常。
- ✅ 编码微约定补到十条,既有违规按授权范围修正 〔es-center-server-services〕
- 8-20: i18n 收敛与麦克风电平
- ✅ 五语 i18n 同义文案收拢,旧 xlsx 链路清退 〔es-center-server-web-app〕
实施票 02 重扫五语底稿,1416→1400 词条,45 组映射替换 109 点,55 条孤儿 key 单列。设计STANDARDS §10 写入拼写统一及不合并边界。设计ADR 0011 补 kick 不经 Janus Admin 强制移除的依据,避免管理面交互与设备故障后自动重入。实施随提交清退 2026-06 旧 i18n 链路、superpowers 文档 4995 行及 6 个 xlsx;记录暂存混入的真实范围。
- ✅ 麦克风电平条和传输环交付,动效按实测继续迭代 〔es-center-server-web-app〕
实施票 01 建只读 getLocalStream 生命周期,单流单链 hook 与频域→gamma→包络→分档纯函数管线;票 02 rAF(浏览器逐帧回调)每帧写一次 CSS 变量,8 段点亮零 React 重渲染,meter 无障碍语义补齐。实施票 03 共享传输环双挂载,初版有声才旋转、按帧间真实时长积分,安静完全静止;实测后电平条移到发话舞台,色相跟 stage(阶段)语义,外环速度改平方映射。测试用户逐档实测,反馈外环速度与停顿断裂感,等待测试人员反馈。实施依据实测反馈,外环三次定档由 360→720→底速+声驱增速 1200→1800°/s;最终停顿平滑降到底速,消除断裂感。审查双轴代码审查 Standards 0 硬违规,Spec 唯一发现核实不成立。
- ✅ 五语 i18n 同义文案收拢,旧 xlsx 链路清退 〔es-center-server-web-app〕
- 8-21 ~ 8-22: 增量审查与知识校准
- ✅ 增量窗口逐域重审,候选裁决与覆盖门通过后发布终报 〔es-center-server-services〕
设计定义冻结点之后的窗口审查合同与任务,清单初始化并修正;生成产物、身份安全、配置消息租户、设备读绑定/固件四域先建立入口。END 推进后重新固定窗口,三域报告重跑。审查生成产物、身份安全、配置消息租户首轮及复审完成,校正候选映射、基线、汇总和责任;设备读绑定/固件修复族结论记录。数据库/同步、消息通道、平台运行时、瞬态持久副作用随后补齐。实施runner(执行脚本)按 15 张审查票串行执行,失败立即停止,SIGINT 中断退出 130;技能目录和锁记录更新。审查执行清单、报告与修复决策同步核对。审查候选合并与裁决、旧 bug/整改票交接、瞬态清单及覆盖账本核对;SHA 拼写错误使覆盖门先失败,修正后通过并发布增量审查终报,终稿对应 239 个提交、693 条路径,结论为 4 个 bug、19 项风险、50 条标准偏差、69 项良性变化、1 项未决和 2 项失效裁决;15 个旧 bug 与 34 张整改票完成对账,外部 E2E 未验证边界保留。测试精确冻结 END 的全量动态门记录 183 个任务、两份 bootJar、172 个 suite(测试套件)及 1221 个测试,失败和错误均为零;13 项为预期集成环境 skip(跳过),外部端到端仍未验证。审查提交门禁过程如实记录,纠正现场表名,并撤销逻辑删除初筛的不当时间限制,避免漏报。
- ✅ 八类知识更新到 08-21,随后退役易漂移的 Repo Wiki 〔es-center-server-services〕
设计配置管理、安全认证、数据模型、接口参考、构建、架构、模块依赖、核心库八类校准到 08-21;消息/设备知识轻核验,仅同步数据结构元数据日期。设计main-service 错误合同工作稿盘点接口结果与协议豁免,记录翻译状态错位、搜索上游错误直传和异常兜底观察,仅作后续输入。设计增量审查四项裁决与租户注入合同记录;Repo Wiki 退役,现役决策、领域词汇、执行规则分别由 ADR、CONTEXT、AGENTS 承担。
- ✅ 增量窗口逐域重审,候选裁决与覆盖门通过后发布终报 〔es-center-server-services〕
- 8-21 ~ 8-22: 事件命名与发布物
- ✅ UI 事件改由统一工厂生成,开发环境切到 cs 〔es-center-server-web-app〕
实施uiEvent 工厂定义内部事件文法,与 MQTT topic 分开;直播视频、回放文件、GPS 轨迹、杂项与预留事件依次迁移,死事件删除。测试命名工厂正向引用、旧字面量与转义字面量静态审计补齐,自动导入消费纪律同步核对。实施开发服务地址由 test 整组切到 cs,互换入口保留。
- ✅ 镜像与安装发布物推进,上传改为手动选择目标 〔es-center-server-install-app〕
实施主服务、设备服务和 Web App 镜像同步 08-20,安装包及构建/上传/部署入口推进到 08-21,Nacos HTTP 控制台端口注释纠正。实施构建后停止自动上传客户环境,保留手动入口;zxs-test 上传、安装/升级、服务检查与 Nacos 鉴权验证脚本新增。实施Upgrade App 构建记录同步,.ai/promgt 仅更新过程材料,有效代码量零。
- ✅ 2.0.1-20260824 双语更新日志草稿形成,周一人审保留 〔es-ext-doc-website〕
设计08-13~08-24 增量拆中文草稿、英文同步、中文收口、英文再同步四张线性票。设计从 es-center-server-services 与 es-center-server-web-app 素材提炼中文 30 条对外变化,再以中文落盘稿为唯一输入同步英文,待周一人审项保留。
- ✅ UI 事件改由统一工厂生成,开发环境切到 cs 〔es-center-server-web-app〕
- 8-22 ~ 8-23: 审查后租户修复
- ✅ 既有管理员角色受保护,固件与注册租户写入完成整改 〔es-center-server-services〕
实施更新前读取既有 administrator 目标并拒绝修改,先于复合权限写入;重复角色守卫共用,陈旧整改状态回填。测试普通角色以命名 fixture 核对允许/拒绝边界。设计消息乱序接受与弱网 JDBC 参数的裁决注记写入,批次 2 修复及写入对象断根票发布。实施固件请求 tenantId(租户字段)移除,持久化由认证上下文注入。测试真实数据库合同证明固件 upsert 不跨租户。实施验证邮件按语言、命名空间、key 自然键精确匹配翻译,邮件/手机号注册成员保存共用认证租户服务。测试验证邮件的真实 SQL 集成覆盖补齐。
- ✅ SpiritCam 与剩余写入路径只采用认证租户,生成器旁路切断 〔es-center-server-services〕
重构SpiritCam 固件写 DTO 的伪造租户字段删除;控制器、监听器、服务剩余的数据携带式和覆盖式租户写入清理。测试SpiritCam 租户合同覆盖异步上下文与真实持久化。测试员工导入、字典、翻译、设备采集、注册、用户租户共用观察工具,从被测实体推导租户并加强真实持久化断言。重构生成器模板和已生成写 DTO 的 tenantId 删除,控制器覆盖注入与生成器残留清退。设计区分认证租户身份与合法业务读投影,修正清理清单,避免误伤读路径。审查租户字段从写入对象根切(从源头移除并封闭旁路)验收完成。
- ✅ 既有管理员角色受保护,固件与注册租户写入完成整改 〔es-center-server-services〕
- 8-22 ~ 8-23: 房间展示与候选查询
- ✅ 房间展示逻辑独立,双向绑定共用分页与列表骨架 〔es-center-server-web-app〕
设计模块加深(接口简单、复杂度留在实现内)的 8 个候选形成账本。评审GPS、房间、排名、地图、分页与镜像列表经 grilling 逐项裁决。重构房间恢复、失败阶段、常开麦阶段、禁用原因抽成纯派生;恢复控制与常开麦舞台迁到页面局部组件,界面与交互合同保持。实施候选分页统一防抖与立即查询,去重在途意图、失效后禁止旧请求写回,刷新失败保留结果;两处候选查询和工作台双分页接入。实施修正首帧可见性、组织筛选同步及保留错误;StrictMode 卸载释放在途锁,首轮请求重放恢复。测试三票行为核对与验证完成,四组分页/绑定测试覆盖回归。设计镜像绑定交互对称、关系暂存与候选结果两套共享列表 seam(可独立观察的接口边界)定案。重构暂存骨架与在线徽标判定统一。测试表驱动测试覆盖实时消息、HTTP 查询与过期回退,移除按钮的无障碍名称断言包含目标。重构候选结果骨架统一桌面表格/移动列表、加载、刷新、错误保留、选择、新增反馈;审查后补刷新失败错误描述。
- ✅ GPS 时间线抽成纯层,内部事件去除额外包装 〔es-center-server-web-app〕
重构GPS 轨迹直接发布/消费类型化数据,解析、相邻句去重、分段锚点过滤及最大回放时长抽纯函数;缺失端点时间时保留既有时长状态。测试真实事件总线与命名审计合同对齐。设计补轨迹领域词汇、时间线 spec 及测试矩阵。实施技能目录同步。
- ✅ 房间展示逻辑独立,双向绑定共用分页与列表骨架 〔es-center-server-web-app〕
- 8-22 ~ 8-23: 排名、地图与数据页
- ✅ 排名卡片与在线排名复用部件,地图引擎共用 〔es-center-server-web-app〕
设计排名预览、参数化在线排名、共享地图与 Dashboard 数据页脚手架分别裁决,按试点和渐进迁移拆票。重构电池、存储、上传、告警四张预览卡共用分页、榜头/榜行/骨架及汇总工具;服务器/设备在线排名路由成为参数化薄配置层,实体文案与格式保留。实施地图引擎统一底图、坐标及飞行动画;在线排名共享页集中 KPI(关键指标)、筛选、排名表与分页请求。重构GPS 轨迹和单兵直播地图接入引擎,保留各自队列/生命周期;轨迹远距飞行后的等待改为两段时长乘积,近距飞行时长为距离除以 10、上限 2 秒;非 Google 底图停止无效轮询,脏定位缓存回退默认中心。
- ✅ Dashboard 数据页分阶段迁移,Repo Wiki 退役 〔es-center-server-web-app〕
重构KPI、校验分页、排名列和表格壳先在电池资源页、服务器页试点;设备、存储、上传、告警等五页及总览 KPI 随后迁入。重构在线排名与总览预览共用分页、表格壳及列工厂,保留预览页数和首次失败语义。设计ADR-0037 退役与 ADR/STANDARDS/CONTEXT 重叠且漂移的 Repo Wiki,现役引用清理、引用计数复核,历史档案不回改。实施开发环境重复辅助主服务地址删除,已完成镜像骨架和数据页执行入口归档。
- ✅ 排名卡片与在线排名复用部件,地图引擎共用 〔es-center-server-web-app〕
其它工作
- 目标: 记录日常杂项工作、协作沟通等事务
- 进度: 🔘 未开始 -> 🟡 进行中 -> ⚠️ 部分完成 -> ✅ 已完成 -> 📌 已自测
- 📌 以往已自测工作不再重复,详情请查看上周及上月报告
- 17 日
- ✅
协作git → svn 源代码同步
- ✅
- 18 日
- ✅
实施最新版本部署到 zxs-test 服务器: 最新程序编译 → 制作 docker 映像 → 制作升级程序 → 上传服务器 → 升级部署 - ✅
排障排查device/{deviceNo}/webrtc/deliver/v1及device/{deviceNo}/webrtc/telemetry/v1主题回复消失的问题
- ✅
- 21 日
- 发布验证闭环
- ✅
实施滚动部署最新版本到 zxs-cs 服务器: 程序编译 → 制作 Docker 镜像 → 制作升级程序 → 上传服务器 → 升级部署,并根据验证结果迭代 - ✅
测试在 zxs-cs 服务器验证近期改进:- 旧设备 webrtc retrieve/telemetry 主题回复恢复(18 日线上排障根因修复)
- MQTT 通道契约切换: 设备上报经 mqttSourceTopic 统一盖章、平台直通白名单替代宽前缀兜底,消息收发正常
- MQTT → JMS 防 reply topic 回环: iot/v1 直通族 retrieve 回复与 Janus 转发入口对 reply 主题与来源相同即丢弃,设备消息不再回流重复转发
- 新增 WebRTC 专属通道族: 设备走 server/center-server/webrtc/v1/retrieve 与 /telemetry 上报、/forward/janus/to 与 /forward/janus/admin/to 转发正常
- 旧 web-ui 通道与 server/center/ 旧前缀退役后,Web 界面设备控制回归正常
- 设备在线状态显示正确(平台模拟 retrieve 不再把断线设备标在线)
- 对讲界面请离设备成员后,被请离设备收到离开通知并退出
- 对讲界面新增功能回归测试: 麦克风电平分段条与发话状态环声驱动效、界面文案中英切换
- ✅
排障根据测试结果持续修复问题
- ✅
- ✅
实施zxs-cs 验证通过后,同一版本已部署到 zxs-test 服务器 〔es-center-server-build〕
- 发布验证闭环
Last updated on