Commit Graph

21 Commits

Author SHA1 Message Date
wonder 2f8e7ead17 fix: 修复前端无法加载七牛云图片的问题
1. 修复 buildURL 中 url.PathEscape 对路径分隔符 / 的错误编码(/→%2F),
   改为逐段编码后拼接
2. AssetResponse 新增 key 字段,返回七牛云对象存储 Key
3. 前端改用 /api/v1/assets/download 接口加载图片,通过后端 302 重定向
   访问 CDN,避免浏览器直接访问 CDN 可能出现的跨域或编码问题
4. 更新 api.md 文档,补充 key 字段说明和 download 接口公开属性
2026-05-25 15:25:40 +08:00
Gmarker689 5d5fe60426 feat: 管线四阶段进度上报 + 图片预览 + Vite 代理
后端:
- pipeline.go: ProgressReporter 回调类型 + WithProgressReporter 注入 context
- nodes.go: 各节点 pre/post handler 调用 reportProgress() 上报阶段进度
- generate.go: TaskResponse 新增 stage 字段,runPipelineBg 注入进度回调

前端:
- vite.config.ts: 添加 /generation 代理到后端静态文件服务
- generation.ts: 轮询读取 stage 字段,暴露 stage/retryCount/rejectReason
- GeneratePage.tsx: ProgressBar 接收真实管线阶段数据
2026-05-25 14:26:26 +08:00
Gmarker689 ecb74a2aed feat: 异步生成管线 + 前端轮询 + 图片编辑 + JWT 中间件
后端:
- 异步生成: POST /api/v1/generate 立即返回 taskId,后台执行管线
- 任务轮询: GET /api/v1/tasks/:id + GET /api/v1/tasks/:id/assets
- 图片保存: 生成图片写入 ../generation/{projectId}/{taskId}/,静态服务
- 图片编辑: POST /api/v1/images/edit (multipart/form-data)
- JWT 中间件: mildware/auth.go 保护生成/编辑端点
- config.yml 清空敏感默认值,交由 .env 控制
- ImageGenConfig 新增 Quality 字段

前端:
- api/generate.ts: 对接真实 API (submitGenerate + poll getTask/getAssets)
- api/types.ts: 新增 GenerateResponse, AssetsResponse, Task 类型
- stores/generation.ts: 异步提交→轮询进度→获取素材→完成
- stores/task.ts: 默认分辨率 256→1024
- GenerateForm: 分辨率范围 1024-1536
- GeneratePage: 显示状态文本,完成后可查看结果/继续生成
- ResultPage: 从 store 读取,下载功能实现
2026-05-25 14:08:08 +08:00
Gmarker689 322e6aecbb feat(generate): 生成管线改为异步,前端接入轮询进度
后端:
- POST /api/v1/generate 改为异步模式,立即返回 taskId
- 管线在后台 goroutine 执行,状态通过 GET /tasks/:taskId 轮询
- 任务状态流转: pending → running → saving → completed/failed

前端:
- generation store: submit 后每 2s 轮询 getTask,完成时自动 getAssets
- GeneratePage: 实时显示轮询状态文本 + 进度条
- ResultPage: 挂载时轮询任务,未完成显示骨架屏+进度,完成自动加载素材
- Types: Task.status 增加 submitted / saving 状态
2026-05-25 12:51:49 +08:00
Gmarker689 74c1725473 feat(generate): 图片持久化到本地 generation/ 目录,前端对接真实 API
后端:
- POST /api/v1/generate 接收 projectId,生成 taskId,将图片保存至 generation/{projectId}/{taskId}/
- 新增 GET /api/v1/tasks/:taskId 和 GET /api/v1/tasks/:taskId/assets 查询端点
- 添加 /generation 静态文件服务,前端可通过 URL 直接访问生成的图片
- PipelineInput 增加 ProjectID/TaskID 字段

前端:
- generate.ts 对接真实后端 API,移除 mock 模式
- 401 时不再强制登出跳转,改为抛错由调用方处理
- GeneratePage 加载工程风格,传递 projectId 和完整参数
- generation store 简化为同步 API 模式,移除 WebSocket mock
- ResultPage 使用 getTask/getAssets 按 taskId 查询结果
2026-05-25 12:27:07 +08:00
wonder e880a80c51 feat(ux): Toast 通知系统,替换内联错误/成功提示
新增 toast store 和 Toast 组件,风格保存成功/失败显示 toast,
素材生成失败显示 toast,Layout 中全局渲染。
2026-05-24 21:26:19 +08:00
wonder aaf846a60d feat(ux): 空状态组件,替换各页面空白提示
新增 EmptyState 组件,ProjectPage 暂无任务时显示带操作按钮的
友好提示,AssetPreview 暂无素材时显示引导文案。
2026-05-24 21:23:02 +08:00
wonder f063ec564e feat(ux): 骨架屏加载组件与页面入场动画
新增 Skeleton 组件支持 text/card/table 三种变体,替换各页面
"加载中..." 文本为骨架屏,所有页面添加 fadeIn 入场动画。
2026-05-24 21:21:52 +08:00
wonder 60c752fad9 feat(ux): 素材类型选择器改为图标卡片布局
每个素材类型使用内联 SVG 图标 + 文字垂直排列的卡片式选择器,
选中态高亮边框与背景色。
2026-05-24 21:19:44 +08:00
wonder a7decf86ec feat(ux): 交互元素悬浮/聚焦/按压状态增强
表格行悬浮高亮、StyleSelector 药丸按钮键盘焦点环。
2026-05-24 21:17:40 +08:00
wonder c177cbaf82 feat(prompt): AI 提示词优化双栏交互
新增 prompt API 模块调用后端 /api/v1/prompt/optimize,PromptEditor
重构为左右双栏布局支持原始/优化提示词对比编辑,默认开启 AI 优化,
用户可关闭开关或手动编辑优化结果后再提交生成。
2026-05-24 21:16:15 +08:00
wonder eac64105de feat(layout): 认证页面统一导航栏,含主题切换与退出按钮
新增 Layout 组件作为认证路由的公共布局,提供 sticky 导航栏,
移除各页面重复的顶栏代码。
2026-05-24 21:12:23 +08:00
wonder 323472ab2b feat(theme): App 初始化时设置 data-theme 属性,首次渲染即为主题 2026-05-24 21:09:23 +08:00
wonder dab9bc9750 feat(theme): Zustand 主题 store,localStorage 持久化,默认浅色 2026-05-24 21:08:02 +08:00
wonder 6928d9250d feat(theme): CSS 变量重构为暗色/浅色双主题
将 :root 硬编码的深色变量拆分为 [data-theme="light"] 和 [data-theme="dark"]
两套主题块,新增导航栏、骨架屏、Toast 等预留变量,添加页面入场动画。
2026-05-24 21:07:29 +08:00
wonder 6a88ec0d46 fix(deploy): 修复 Docker 部署两个问题
1. 后端 Dockerfile 开启 CGO(go-sqlite3 依赖),安装 gcc/musl-dev
2. nginx 添加 /auth/ 反向代理,修复注册登录 405 错误
2026-05-24 14:33:45 +08:00
wonder a2736f722c feat(frontend): 构建前端 MVP,实现完整 UI 框架与 mock 数据层
- 安装 zustand + react-router-dom 依赖
- 修复 Vite 代理配置,添加 /auth 路由转发
- 实现 API 封装层(client.ts 统一 fetch、auth.ts 真实调用)
- 实现 mock 数据层(mock.ts 模拟 WebSocket 管线进度)
- 实现 4 个 zustand stores(auth/project/task/generation)
- 实现 5 个组件(StyleSelector/PromptEditor/GenerateForm/ProgressBar/AssetPreview)
- 实现 5 个页面(Login/Register/Project/Generate/Result)
- 实现路由含 ProtectedRoute 守卫
- 添加暗色主题全局样式
- 更新前端文档与 API 文档
2026-05-24 14:18:39 +08:00
wonder d236b5348a build: 完善一键部署脚本 2026-05-23 17:24:58 +08:00
wonder a577e9eefd build: 配置 docker 2026-05-23 12:50:44 +08:00
wonder 62a905b17b build: 配置 nginx 2026-05-23 12:50:36 +08:00
wonder 3be7e08162 build: 初始化构建前端 2026-05-23 12:30:06 +08:00