返回 Bug 清单
BUG-1397project-02中已修复backend-logic
POST /notifications/{id}/read 404 + bk_notifications 缺 read_at 列
发现:2026-10-17验证:2026-10-17置信度:90%
症状
① 通知中心点单条已读 → 404 (后端路由不存在); ② 点全部已读 → 可能 UndefinedColumn (缺 read_at); ③ 预设审批流模板按钮 → TypeError: presets.forEach is not a function (AG-030).
根因
app.js:7294 前端调 POST /bk/notifications/{id}/read (单条已读 RESTful path), 但后端 bk_notification_api.py 只有 /in-app/read (body 风格). 同时 bk_notifications 表只有 7 列, 缺 read_at — 两个路由都用 UPDATE SET read_at = NOW() 会 UndefinedColumn. 还有 AG-030 presets.forEach TypeError 是同 session 修复的前端 Array.isArray 兜底.
修复方案
后端 bk_notification_api.py 新增 POST /notifications/<int:notification_id>/read 路由 (路径风格). ALTER TABLE bk_notifications ADD read_at TIMESTAMP. docker cp + docker restart (必须, 改路由表 + ALTER TABLE). 部署后 Flask url_map 验证新路由存在 ✅. Migration 052 入库. AG-030 前端用 Array.isArray(res.data) ? res.data : [] 兜底.
错误签名
POST /api/bk/notifications/{int}/read → 404 Not Found, ALTER TABLE missing read_at column技术信息
来源项目
project-02
涉及文件
bk_backend/bk_notification_api.py, database/migrations/052_bk_notifications_read_at.sql, bk_frontend/js/app.js
标签
project-02, mcp-reported, source-agent