访客邀请上线记:从星链直连到持久化异步任务链路
三层墙与两段缺失:1GB 上传放行记与告警联动发布屏联调
接口 200 却永远没有下文:一次跨四系统的超时根修与告警人脸上线排查
四轮外部评审,十二条意见全部属实——afterCommit 不是异步任务
人脸审批钉钉卡片功能做完后,交给外部评审挑刺。四轮下来共十二条意见,我们逐条核实——全部属实,然后逐条修复。评审意见全对这种事并不常见,更难得的是其中几条属于”教科书不会讲、不炸一次不会信”的坑:afterCommit 根本不异步、vant Toast 是单例、surefire 版本太老会让测试”假装通过”。逐条记录。
五种卡片,没有第六种:钉钉 ActionCard 深链通知体系全景与落地
一天之内,智慧园区平台的钉钉通知从”一种告警卡片”扩成了”五张卡片”的体系:告警卡深链到 H5 办理页,人脸审批卡带上申请事由,视频申请审批卡深链到 PC 列表。上线前把全景彻底捋了一遍——线上代码里所有会发钉钉卡片的场景一共五种,再无其他。这篇记录体系的设计、深链的取舍、旁路发送的架构,以及那份”明天照着测就行”的排障手册。
站内信点击跳转:从三条硬编码映射,到"字段始终携带"的配置驱动
需求一句话:站内信要能点——实时监控申请、回放申请、入侵告警工单这三类消息,申请人、审批人、处理人收到后点击,要跳到对应的列表页。一期用前端硬编码映射快速落地,二期按上级要求改成流程配置驱动。真正值得记录的是二期定下来的那条核心语义——**jumpRoute 字段始终携带,空串等于明确不跳转、绝不回落旧映射**——以及它背后被评审揪出来的盲区。
“成功了,请拿出证据”——一次屏幕插播的四级取证,与 ROMA 查不到日志的正解
现场在发布管理页面提交了一次文字插播,随后抛来两个问题:这次到底成没成功?为什么在 ROMA 平台的设备命令日志里搜不到任何记录?第一个问题要证明”发生过”,第二个问题要证明”本来就不该有”。这次排查的价值不在结论本身,而在于用代码、配置、进程、日志四级互相独立的证据,把一次成功钉死,同时给”查不到日志”一个经得起追问的解释。
钉钉免登明明成功,为什么还停在登录页——一次"半登录态"排查
测试同事反馈:在钉钉里打开 H5 微应用,免登之后没有进入应用,而是停在账号密码登录页。更诡异的是,刷新一下有时又能进去;主动退出再打开,又可能卡住。最后查出来的真相是:钉钉授权和后端登录其实都成功了,token 已经拿到手,是 H5 自己在登录成功之后抛出异常,把用户卡在了门外——一种”半登录态”。
给员工 ID 算出审批人:负责人反查的角色化地基
BPM 审批流要跑起来,地基不是流程图,而是一个看起来朴素的问题:给一个员工 ID,算出这张单该批给谁。这次改造把原先”部门管理员”的散装机制整体角色化,落地两个负责人反查接口。中间有三个决策值得展开:主部门锚点的回填、递归 CTE 的”最近一级优先”、以及同步绑定与手动绑定的免疫隔离。