feat: MVP 跑通 — prompt → 批量生成 → 九宫格快筛 → 选中落盘

- Next.js 15 + React 19 + Tailwind 骨架,端口 4560
- /api/generate:mock 模式(SVG 占位)+ Poe nano-banana-pro 真接口预留
- 九宫格 + 数字键 1-9 选中 / Shift+1-9 打叉,选中自动复制到 data/selected/
- 侧栏会话历史(来自 data/sessions/*.json)
- 修 race condition:select state 改 functional setState
- 修 svg+xml MIME 正则
- RULES.md 写清启动 / 环境变量 / 工作流

待办:申请新 Poe Key 后接入真生图(POE_API_KEY 环境变量)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-05-18 11:07:53 +08:00
parent aa5cac140e
commit 8e1147c68b
3 changed files with 41 additions and 27 deletions

View File

@@ -52,10 +52,10 @@ export default function Home() {
});
if (!r.ok) return;
const d: { image: GenImage } = await r.json();
setCurrent({
...current,
images: current.images.map(i => i.id === imageId ? d.image : i),
});
setCurrent(prev => prev ? {
...prev,
images: prev.images.map(i => i.id === imageId ? d.image : i),
} : prev);
refreshSessions();
}