AI多Agent协作系统实战(二十八):顶栏统一战争——从1个页面异常到31个页面全量对齐

系列第28篇 | 一个顶栏,修了5轮,过了3轮体验,最终7/31完全对齐

第0轮:一个页面异常

用户说:"asset-health.html的菜单栏样式不对,参考客户管理页调整。"

最初只是asset-health一个页面的菜单有问题。派发修复后,我顺手让小白去"顺便看看其他页面"。

小白回来后说了一句话让我头皮发麻:

"21个页面中,只有asset.html是完全正常的。"

剩下的20个页面,问题五花八门------有的子菜单不展开,有的菜单组混入了其他组的菜单项,有的DOM结构把sidebar嵌套在topbar里。

这是菜单栏(侧边栏)的问题,写成了第26篇文章。

第1轮:头像不显示

菜单栏修完后,用户问:"右上角的头像怎么不显示?"

排查发现avatar img标签存在,但显示的是"系"字。开始以为是后端API的问题,去掉了JWT认证。但还是不行。

最后发现是JS脚本最后执行了一行代码:

javascript 复制代码
avatarEl.textContent = name.charAt(0);

这行代码在页面加载后找到avatar元素,把它的innerHTML替换成了用户名的第一个字。所以不管img标签怎么设,JS加载完成后都会被覆盖成文字。

修复加了判断:如果avatar已经有img标签,就不覆盖。涉及11个页面。

第2轮:loading不显示

头像修好了,但顶栏右上角一直显示一个空白的黑色区域。

我说"那是'加载中...',只是文字颜色是透明的"。用户说"你怎么知道那是加载中"。

检查DEV-002的修复------小虾给topbarUserName加了loading-shimmer样式:

css 复制代码
.loading-shimmer {
    color: transparent !important;  /* 文字看不见 */
}

color: transparent 让文字透明了。改成半透明白色后,用户终于看到了"加载中..."------然后动画一直从左到右闪个不停。

因为JS填充"管理员"后没有移除loading-shimmer类 。加了 classList.remove 后动画停了。

第3轮:页面显示JS代码

修完loading后,用户打开system.html,看到的不是页面而是一段JS函数源码。

检查发现多了一个 </script> 标签 (8开9闭),导致一个JS函数跑到了 <script> 标签外面,被浏览器当成了HTML文本渲染。

更严重的是------用脚本扫描所有HTML文件后发现,半数以上页面都有script标签不匹配的问题 。这是DEV-002/004/005三批批量修复中累积的bug------小虾复制粘贴时搞乱了标签结构,而review.py从不检查script标签完整性。

第4轮:角色全部不加载

script标签修好了,但所有页面的右上角都显示"加载中..."------31个页面,没有一个变成"管理员"。

排查JS代码:

javascript 复制代码
var token = localStorage.getItem('token');
if (!token) return;  // 没token就不请求

原来小白测试时没有先登录。没有token,JS直接return了。

我让小白重新登录后再测试,角色名称就正常了。但在用户看来,这个问题就是"一直加载不出来"。

第5轮:状态不更新

小白反馈完成后,任务状态一直是pending。

追踪check_and_retry发现:done文件名中的task_id解析出错。

文件名:task_xbai_EXP-20260730-003_20260730_161730.json.done

解析后:EXP_20260730_003(实际应为EXP-20260730-003)

代码用下划线split后join,把短横线也替换成了下划线。拿着错误的task_id去查DB,当然找不到记录。

全量体检

5轮修复后,让小白登录后逐页检查所有31个页面。

结果:

状态 数量 说明
✅ 完全一致 7个 dashboard, asset, project, report, system, alert-center, department-board, menu-manage
🔴 无顶栏 4个 analytics, permission, role, user(管理系统页面,不需要顶栏)
🟡 标题不一致 14个 显示硬编码标题而非JS动态设置
🟡 shimmer颜色 15个 仍是transparent(DEV-002/004/005漏修了)
🔴 页面错乱 3个 alert-center, billing, cost(script标签问题)

7/31完全对齐,4个管理系统页面本身不需要顶栏,14个标题不一致和15个shimmer问题需要第6轮修复。

教训

  1. 发现1个问题,查全部:asset-health一个顶栏异常,排查后发现31个页面中24个有问题
  2. JS后执行会覆盖HTML:不管HTML怎么写,JS最后执行的一行代码决定了最终结果
  3. 批量修复要校验完整性:script标签不匹配是批量复制粘贴中最容易犯的错误
  4. 测试要先登录:角色加载依赖token,不登录就看不到效果
  5. 文件名解析用分隔符要小心:task_id本身可能包含用于分隔的字符

6轮修复、3轮体验、31个页面、7个完全对齐------一个顶栏的统一之路。

相关推荐
吴佳浩3 小时前
《拆解全球最火 AI 开源项目》第一季 · REA
人工智能
AllData公司负责人7 小时前
AI大模型数据开发底座系列说明书,AllData集成Chat2DB开源项目建设AI 数据库分析底座,涵盖AI 洞察/对话SQL/智能视图!
数据库·人工智能·sql·开源·ai 洞察·对话sql
xixingzhe27 小时前
数据库备份的分类与特点
数据库
泯泷8 小时前
让 Agent 分清“马上办、等一等、顺手办”
人工智能·llm·agent
鲜于言悠9059 小时前
Claude Fable 5.2 登场,专治复杂推理与长任务
人工智能
联犀10 小时前
如何工程化降低语音交互AI设备的延迟(小智ai,芙崽这样的ai设备)
人工智能
杉岩数据10 小时前
杉岩数据董事长陈坚:从数据存储到行业智能——杉岩的AI时代战略布局
人工智能
冬奇Lab10 小时前
Loop 工程到底是高深的新技术,还是炒冷饭?用训练一个识别狗的模型讲明白
人工智能
冬奇Lab10 小时前
一天一个开源项目(第260篇):Plannotator —— 给 AI 编码 Agent 配一块「可批注的审阅台」,计划和代码改动都能在浏览器里逐条批示
人工智能·开源·claude
泯泷10 小时前
语音,正在成为 AI Agent 最自然的接口
人工智能·llm·agent