refactor: 前端重构为项目+任务双核心模型

- 新增 HomePage 项目画廊页,支持新建/删除工程
- 新增 ProjectDetailPage 三栏工作台(配置+生成+任务列表)
- 新增 CustomTagsEditor 支持自定义风格标签(custom: 前缀存入 kvPairs)
- 重构 project store 为 draft/commit 模式,支持手动保存/取消
- 新增 projectList store 管理工程列表
- 扩展 mock.ts 为多工程数据结构
- 扩展 api/project.ts 新增项目 CRUD API(mock-gated)
- 简化 ResultPage,仅展示素材预览
- 删除 GeneratePage、ProjectPage 及未使用的 hooks
- 更新 docs/ 文档(frontend.md、api.md、style-keys.md、_index.md)
This commit is contained in:
2026-05-25 16:15:31 +08:00
parent 2bc0ec2eaa
commit a603f5548c
26 changed files with 1397 additions and 644 deletions
+3 -8
View File
@@ -3,8 +3,7 @@ import { useAuthStore } from '../stores/auth'
import Layout from '../components/Layout'
import LoginPage from '../pages/LoginPage'
import RegisterPage from '../pages/RegisterPage'
import ProjectPage from '../pages/ProjectPage'
import GeneratePage from '../pages/GeneratePage'
import HomePage from '../pages/HomePage'
import ResultPage from '../pages/ResultPage'
function ProtectedRoute() {
@@ -30,15 +29,11 @@ export const router = createBrowserRouter([
children: [
{
path: '/',
element: <Navigate to="/projects/proj-default" replace />,
element: <HomePage />,
},
{
path: '/projects/:projectId',
element: <ProjectPage />,
},
{
path: '/projects/:projectId/generate',
element: <GeneratePage />,
lazy: () => import('../pages/ProjectDetailPage').then(m => ({ Component: m.default })),
},
{
path: '/projects/:projectId/tasks/:taskId',