dy-dashboard/vault/知识库/工作指南/训练记录/2026-06-23-新增弹窗文本记忆修复.md
2026-10-28 11:14:17 +08:00

1.8 KiB
Raw Blame History

修复新增弹窗文本记忆 + 后端崩溃

日期: 2026-06-23

旭东 → OpenClaw:

1、我新增数据弹窗里面还是有文本记忆 2、新增数据填写好点击保存之后,外面数据没有新的数据显示,出异常了

OpenClaw 响应:

排查发现两个问题:

  1. 文本记忆:上一轮提交(c865173)虽然声明了「所有输入框autocomplete=off」,但实际上只改了编辑弹窗,新增弹窗中的 12 个 <input> 和产品页的 3 个筛选框都没有加 autocomplete="off"。已全部补加(commit ff0a1e8)。

  2. 保存异常(后端崩溃):Gunicorn 服务于 17:21 开始崩溃循环(已重启 1900+ 次),日志显示 Address already in use——端口 18888 被旧进程占用导致新进程无法启动。旧进程 (PID 203395) 一直跑着旧代码,导致新增产品的 API 调用要么失败、要么用旧逻辑处理。已杀死所有旧进程并重启 systemd 服务恢复正常。

  3. 第二轮修复(commit 1d0b8b3):版本号 v306→v307,同步 Service Worker 缓存版本(v4→v5)。此前 SW 预缓存了 app.js?v=200,浏览器可能加载了旧版本 JS,导致新增弹窗保存逻辑异常。已强制刷新浏览器缓存。

  4. 第三轮修复——开发专员保存后不显示(commit 2eb8852):后端列表查询写了 p.developer AS 开发专员(中文别名),但前端 PROD_COLUMNS 定义的是 field: 'developer'。保存时数据库写入正确(开发者字段有值),但列表查回来时 key 是 开发专员,前端用 r['developer'] 取不到值,导致新商品里开发专员始终为空。已改为 p.developer(无别名),前后端字段名统一。

    教训:数据库字段名与前端字段名必须完全一致,不能用中文别名串改 JSON key。