feat: AI生成图持久化记录(AiRenderRecord模型+图片落盘+记录列表/图片/删除端点+前端生成记录抽屉, 三模式统一)

This commit is contained in:
HHY
2026-10-07 04:08:27 -07:00
parent f9456b5633
commit ac55932969
7 changed files with 197 additions and 4 deletions
+1
View File
@@ -1,5 +1,6 @@
# CHANGELOG
- [2026-10-07 12:07] FEAT: v2.51 AI 生成图持久化记录(用户需求: 生成图要有记录而非一次性缓存)。新模型 AiRenderRecord(ai_render_records: 公司/用户/模式/窗型/场景/提示词/文件路径/尺寸); 三模式(quick/photo/blueprint)统一持久化: generate 成功后图片落盘 runtime/ai_renders/{company}/{id}.png(gitignore)+元数据入库, 响应新增 record_id; 新端点: GET /records(公司隔离分页+mode 筛选)/GET /records/{id}/image(FileResponse PNG, 公司隔离)/DELETE /records/{id}(文件+记录清理); 前端 AI 炫图页头部「生成记录」按钮+抽屉(缩略图 blob 拉取绕过 img 无法带 token+模式标签+窗型+时间+操作人+下载/删除+分页), 生成成功自动刷新; 安全校验: 匿名 code=401 不泄露图片/公司隔离与列表同模式; runtime/ 加入 gitignore; 回归: 冒烟 60/60+24 页巡检 0 异常; UI 抽屉截图验证 (Files: src/huamenchuang/models/extend.py, src/huamenchuang/models/__init__.py, src/huamenchuang/api/ai_render.py, frontend/src/views/AIRenderView.vue, doc/API.md, .gitignore)
- [2026-10-07 11:20] FEAT: v2.50 大样图斜角识别(用户需求: 斜角窗也要识别)。提示词新增「斜角铁律」——手稿中的斜边/切角/梯形轮廓必须原样保留(斜线方向与两端点位置与原图一致), 严禁把斜角窗/梯形窗拉直画成矩形; 斜边尺寸照常誊写/未标注按原图比例; 圆弧边同样保留; PIL 构造斜角手绘测试稿(右上切角窗 1500x1200+左下梯形窗 900x800)实测 47s: 两窗斜边完整保留(切角方向与位置与手稿一致/梯形轮廓未被拉直), 分格/开扇对角线/尺寸线(1500/700/900/800/1200)全对, 标题栏完整; 回归: 冒烟 60/60 (Files: src/huamenchuang/api/ai_render.py)
- [2026-10-07 11:30] FIX: v2.49 大样图窗方向识别修复(用户报告: 窗被旋转竖放)。对照第39页登记表: 修复前左上 2380宽横向窗被生成为 1400x2380 竖版, 多窗宽高对调; 根因: 提示词无方向约束, gpt-image 重绘时自由旋转窗体; 修复: 提示词新增「方向铁律(最重要)」——每个窗横竖方向必须与原图完全一致(横向窗输出宽>高/竖向窗高>宽, 严禁旋转竖立横放)+工程制图标注约定(宽度标窗下水平线/高度标右侧竖直线, 登记表宽/mm 栏对应水平方向 高/mm 栏对应竖直方向)+Avoid 追加被旋转方向的窗; 复测第39页: 全部窗方向与原稿一致(横向窗保持横向/磨砂竖条窗保持竖向 125x1185), 窗5 3530 完全精确, 内左右开文字标注/内开内倒对扇/磨砂玻璃标注等细节保留 (Files: src/huamenchuang/api/ai_render.py)
- [2026-10-07 10:30] FEAT: v2.48 大样图全链路优化(草图预处理工具链+结果对比)。蓝图 Tab 重构: ①旋转转正(↺/↻ 90°, 治理横拍旋转图方向塌陷——离屏 canvas 旋转绘制, ≤1536px) ②框选裁剪拆窗(拖拽框选窗区域, 裁剪后仅转换选中部分——根治一页多窗的窗数幻觉与高密度页塌陷, 窗数天然1:1) ③结果并排对比(原始草图|AI大样图 左右对照, 人工核对尺寸效率提升) ④「再生成一张」快捷按钮(应对轮间方差挑最佳) ⑤大样图模式独立结果区(不再与照片/速览共用); 端到端实测: 上传→旋转90°→框选→生成→并排对比全链路通(34s), 裁剪含两窗局部时 AI 仍正确生成两窗规范大样图(分格/开扇/尺寸全对); 移除测试依赖 pillow; 回归: 冒烟 60/60+24 页巡检 0 异常 (Files: frontend/src/views/AIRenderView.vue)