You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 

6.6 KiB

第二阶段:静态数据展示

执行日期:2026-01-09
状态 已完成

上下文

根据 development-plan.md 开发计划文档,第二阶段的目标是:

  • 完成所有 UI 组件开发
  • 使用 Mock 数据展示界面
  • 实现响应式布局

完成的任务

1. 布局组件 (2.1.x)

# 任务 状态
2.1.1 开发 AppLayout 组件
2.1.2 开发 TopBar 组件
2.1.3 开发 LeftSidebar 组件
2.1.4 开发 RightSidebar 组件
2.1.5 开发 CenterArea 组件
2.1.6 实现侧边栏折叠/展开动画

2. 分镜面板组件 (2.2.x)

# 任务 状态
2.2.1 开发 StoryboardDescPanel 组件
2.2.2 开发 StoryboardItem 组件
2.2.3 开发分镜展开/折叠功能
2.2.5 使用 Mock 数据渲染分镜列表

3. 预览面板组件 (2.3.x)

# 任务 状态
2.3.1 开发 PreviewPanel 组件
2.3.3 开发 PlaybackControls 组件
2.3.4 开发 VolumeControl 组件
2.3.5 实现视频预览空状态

4. 时间轴组件 (2.4.x)

# 任务 状态
2.4.1 开发 TimelinePanel 组件
2.4.2 开发 TimelineTrack 组件
2.4.3 开发 TimelineItem 组件
2.4.4 开发 TimeRuler 组件
2.4.5 开发 TrackLabel 组件
2.4.6 开发 Playhead 组件
2.4.7 实现时间轴折叠/展开
2.4.8 使用 Mock 数据渲染轨道

5. AI 面板组件 (2.5.x)

# 任务 状态
2.5.1 开发 AIInputPanel 组件(集成在 RightSidebar)
2.5.2 开发 ImagePromptPanel 组件
2.5.3 开发 AngleTransformPanel 组件
2.5.4 开发 CameraAdjustPanel 组件

6. 右侧功能面板 (2.6.x)

# 任务 状态
2.6.1 开发 RightPanelTabs 组件
2.6.2 开发 ResourceTag 组件

7. 通用组件 (2.7.x)

# 任务 状态
2.7.1 开发 LoadingSpinner 组件
2.7.2 开发 EmptyState 组件
2.7.3 开发 ErrorBoundary 组件
2.7.6 开发 ThemeToggle 组件
2.7.7 开发 LanguageSelector 组件

8. 弹窗组件 (2.8.x)

# 任务 状态
2.8.1 开发 CreateProjectModal 组件
2.8.2 开发 ExportModal 组件

9. Mock 数据 (2.9.x)

# 任务 状态
2.9.1 创建项目 Mock 数据
2.9.2 创建分镜 Mock 数据
2.9.3 创建资源 Mock 数据
2.9.4 创建时间轴 Mock 数据

10. 国际化 (2.10.x)

# 任务 状态
2.10.1 完善简体中文语言文件(zh-CN)
2.10.2 完善英文语言文件(en-US)
2.10.4 布局组件接入 i18n
2.10.8 弹窗/通用组件接入 i18n

项目结构

client/src/
├── components/
│   ├── common/                    # 通用组件
│   │   ├── EmptyState.tsx
│   │   ├── ErrorBoundary.tsx
│   │   ├── LanguageSelector.tsx
│   │   ├── LoadingSpinner.tsx
│   │   ├── ThemeToggle.tsx
│   │   └── index.ts
│   ├── features/                  # 功能组件
│   │   ├── preview/
│   │   │   ├── PlaybackControls.tsx
│   │   │   ├── PreviewPanel.tsx
│   │   │   └── index.ts
│   │   ├── project/
│   │   │   ├── CreateProjectModal.tsx
│   │   │   ├── ExportModal.tsx
│   │   │   └── index.ts
│   │   ├── storyboard/
│   │   │   ├── StoryboardDescPanel.tsx
│   │   │   └── index.ts
│   │   └── timeline/
│   │       ├── TimelinePanel.tsx
│   │       └── index.ts
│   ├── layout/                    # 布局组件
│   │   ├── AppLayout.tsx
│   │   ├── CenterArea.tsx
│   │   ├── LeftSidebar.tsx
│   │   ├── RightSidebar.tsx
│   │   ├── TopBar.tsx
│   │   └── index.ts
│   └── ui/                        # UI 基础组件
├── mocks/                         # Mock 数据
│   ├── index.ts
│   ├── projects.ts
│   ├── resources.ts
│   ├── storyboards.ts
│   └── timeline.ts
└── public/locales/                # 国际化文件
    ├── en-US/
    │   ├── common.json
    │   ├── editor.json
    │   └── settings.json
    └── zh-CN/
        ├── common.json
        ├── editor.json
        └── settings.json

新增组件说明

布局组件

  • AppLayout: 应用主布局,包含 TopBar、LeftSidebar、CenterArea、RightSidebar、TimelinePanel
  • TopBar: 顶部导航栏,包含 Logo、项目选择、撤销重做、工具栏、用户菜单
  • LeftSidebar: 左侧边栏,包含项目列表和素材库 Tab 切换
  • RightSidebar: 右侧边栏,包含图片提示词/角度变换/镜头调整面板和 AI 输入区
  • CenterArea: 中间区域,包含分镜描述面板和预览窗口

功能组件

  • StoryboardDescPanel: 分镜描述面板,显示分镜列表和详情
  • PreviewPanel: 预览面板,显示当前分镜预览内容
  • PlaybackControls: 播放控制条,包含播放/暂停、进度条、音量控制
  • TimelinePanel: 时间轴面板,显示所有轨道和时间块
  • CreateProjectModal: 创建项目弹窗
  • ExportModal: 导出视频弹窗

通用组件

  • LoadingSpinner: 加载动画
  • EmptyState: 空状态展示
  • ErrorBoundary: 错误边界
  • ThemeToggle: 主题切换
  • LanguageSelector: 语言切换

验收结果

检查项 验收条件 结果
开发服务器 npm run dev 可正常启动
生产构建 npm run build 可正常构建
代码检查 npm run lint 0 个 error
类型检查 npm run type-check 通过
布局展示 完整的编辑器布局可见
Mock 数据 项目/分镜/资源列表正确渲染
侧边栏 左右侧边栏折叠/展开动画流畅
时间轴 轨道正确显示,刻度清晰
多语言 中英文切换正常
主题切换 深色/亮色主题切换正常

下一阶段

第三阶段:交互逻辑实现 - 实现完整的用户交互逻辑、状态管理和拖拽功能