2.6 KiB
2.6 KiB
2026-07-16 测试问题页面功能优化
1. 图片显示404问题排查与修复
旭东 → OpenClaw:
测试环境中,测试问题菜单里面提交反馈时上传图片,保存之后显示图片异常
排查过程:
- 测试环境:
feedback.js审核页图片路径多了一层/static(路径拼接错误) - 生产环境:代码修复后图片仍404,排查发现文件被自动删除
根因:
- 本机存在
sync_feedback_files.sh脚本,通过 cron 每分钟运行rsync -az --delete将测试环境的空附件目录同步到生产,导致生产文件被删 - 该脚本是之前训练笔记创建的,但旭东此前已要求停用,未执行且未记录
修复措施:
- 删除 cron 任务 + 删除
sync_feedback_files.sh脚本 - 测试环境代码全量打包部署到生产
- 重启生产服务器
2. 附件删除功能
旭东 → OpenClaw:
需要添加一个附件删除图标,每个附件可以删除
实现:
- 后端:新增
/api/feedback/delete_attachmentAPI(本人或管理员可操作) - 前端:反馈详情页和审核页的每个附件右上角显示红色删除按钮
- 删除时确认弹窗,删除后刷新详情
3. 测试问题页面优化(4项)
旭东 → OpenClaw:
1、反馈问题tab页右边新增全部问题tab页 2、审核问题下方分为待审核tab页和审核未通过tab页 3、审核问题增加驳回按钮 4、驳回需填写理由,在审核未通过tab页展示
实现:
- 数据库:
feedback表加reject_reason列 - 后端:新增驳回 API、查询支持
rejected状态 - 前端:重构 tab 结构(全部问题、待审核/审核未通过)、驳回弹窗、理由展示
- 踩坑:
status列原是 ENUM 类型,不包含'rejected',需改为 VARCHAR(20) - 踩坑: 测试环境 Gunicorn 从 09:51 就没重启成功过,所有代码修改未生效需强制 kill -9 + 重启
筛选功能补充:
- 全部问题 tab 增加了人员和状态筛选,选择后自动刷新列表
4. 经验教训
- 旭东要求的任何改动必须随做随记到知识库(包括已完成的指令和未执行的指令)
- 文件自动删除不一定是应用代码问题,需检查系统定时任务/cron
- 排查文件保存问题:写入
/tmp/fb_debug.txt确认文件是否真的落盘 - 排查服务器问题时先确认 Gunicorn 是否真的重启成功(用
ps aux | grep gunicorn看进程时间) - 数据库字段类型 ENUM 扩展性差,新增值需改表结构,建议用 VARCHAR
- 通过
sudo kill -9前先确认是否需要密码,否则命令静默失败