Commit Graph

7 Commits

Author SHA1 Message Date
zwt13703 81cb155e3f fix: 保留上传模板的文本对齐(居中/右对齐/两端)
- docx_to_html: Mammoth转换后用BeautifulSoup注入text-align CSS
- html_to_docx: 解析style属性还原WD_ALIGN_PARAGRAPH对齐
- 支持 center/right/justify 三种对齐
2026-07-06 22:35:00 +08:00
zwt13703 dd2af6be4a feat: 参考文件支持多文件上传 + 生成前检查
- ref_file_path 改为 Text 类型存储 JSON 数组
- parse_reference_files: 支持解析多个文件路径
- 测试端点: 接受多个 ref_files,多文件内容合并
- 新增 upload-ref 端点: 生成前先上传参考文件
- 生成任务: 检查 need_ref_file,多文件提取文本
- 前端: 文件选择器改为 multiple,测试/上传均支持多文件
- 生成前自动检测缺少参考文件的生成点并提示上传
2026-07-06 21:02:19 +08:00
zwt13703 e937449e6a fix: 样式丢失问题 - 生成任务改为直改原始 docx 保留样式
- generate.py: 直接加载原始 docx 用 python-docx 替换文本,不再经过 HTML→docx
- html_to_docx: 增强支持 bold/italic/heading 等基本格式
- text替换: 支持段落内 runs 和表格 cell 内的文本替换
- 结果: AI 内容正确插入,字体/加粗/标题等原始样式完全保留
2026-07-06 17:53:15 +08:00
zwt13703 40b861cfcc fix: 核心 bug 修复 - API Key 加密/解密 + AI 调用 + 数据安全
- schema: 用 @field_serializer 掩码 api_key,不再直接修改 SQLAlchemy 对象
- API: 移除所有 model.api_key='***' 赋值,防止数据库被覆盖
- security: SHA256(SECRET_KEY) 派生合法 Fernet 32 字节密钥
- ai_adapter: CustomAdapter 改用 OpenAI-compatible messages 格式
- ai_adapter: trust_env=False 防止代理干扰,增加详细异常信息
- templates: bleach HTML 净化防止 XSS
- .env.example: CORS_ORIGINS 修复为 JSON 数组格式
- 端到端验证:单点测试 + 异步生成任务均通过
2026-07-06 17:26:32 +08:00
zwt13703 afabb6446a feat: 阶段三 - 异步任务与 AI 集成
- AI 调用适配器:工厂模式,支持 openai/azure/custom 三种供应商
- 参考文件解析器:提取 txt/docx/pdf 文本内容
- Celery 配置与生成任务:模板加载→生成点排序→参考解析→AI调用→HTML插入→文档保存
- 任务管理 API:触发/状态查询/结果下载(docx+pdf)/取消/列表
- 单点测试 API:生成点预览不保存文档
- 23 个 API 端点全部注册
2026-07-06 16:28:00 +08:00
zwt13703 aa84521449 feat: 阶段二 - 核心业务 API 实现
- Pydantic Schemas: AIModel, Template, GenerationPoint, GenerationTask
- 文档处理服务: docx↔HTML (Mammoth), docx→PDF (reportlab)
- AI 模型管理 API: CRUD + 启用/禁用切换 + API Key 加密
- 模板管理 API: 上传/转换HTML/在线编辑保存/下载(docx+pdf)
- 生成点管理 API: CRUD + 参考文件上传 + 批量排序
- 17 个 API 端点注册,后端启动验证通过
2026-07-06 16:18:23 +08:00
zwt13703 b5fa343bf8 feat: 阶段一 - 项目基础设施搭建
- 创建前后端项目目录结构
- docker-compose.yml (Postgres 18.3 + Redis 7)
- 后端:FastAPI + SQLAlchemy 异步引擎 + Alembic 迁移
- 5个ORM模型:AIModel, Template, GenerationPoint, GenerationTask, SystemConfig
- 核心模块:config, database, security(Fernet加密), file_storage
- 前端:Vite + React 18 + TS + Ant Design + React Router
- 侧边栏布局 + 5个占位页面
2026-07-06 16:16:23 +08:00