# Jointo(jointo)产品初始 Mock 数据文档 > **目标**:提供Jointo产品的初始 mock 数据,用于开发和测试 > **文档版本**:v1.0 > **项目域名**:https://www.jointo.ai --- ## 目录 1. [数据说明](#1-数据说明) 2. [项目数据](#2-项目数据) 3. [分镜数据](#3-分镜数据) 4. [资源数据](#4-资源数据) 5. [视频数据](#5-视频数据) 6. [音效数据](#6-音效数据) 7. [字幕数据](#7-字幕数据) 8. [配音数据](#8-配音数据) 9. [其他数据](#9-其他数据) 10. [文本内容汇总](#10-文本内容汇总) --- ## 1. 数据说明 ### 1.1 数据用途 本文档包含所有用于填充界面的初始 mock 数据,包括: - 项目列表数据 - 分镜描述文本 - 资源标签数据 - 视频/音效/字幕/配音列表 - UI 文本内容(按钮、提示词示例等) ### 1.2 数据格式 所有数据以 TypeScript 类型定义和 JSON 格式提供,可直接用于前端开发。 --- ## 2. 项目数据 ### 2.1 项目列表 **我的项目**: 1. **西游记之大圣归来** 2. **琅琊榜** 3. **流浪地球** 4. **蒙牛新年好礼2025广告片** 5. **十三邀** **协同项目**: - (可根据需要添加) ### 2.2 项目数据结构 ```typescript const mockProjects: Project[] = [ { id: 'proj-1', name: '西游记之大圣归来', type: 'mine', thumbnailUrl: '/thumbnails/proj-1.jpg', createdAt: Date.now() - 86400000 * 7, updatedAt: Date.now() - 86400000, storyboards: [], // 见分镜数据 settings: { resolution: { width: 1920, height: 1080 }, frameRate: 30, duration: 60, }, }, { id: 'proj-2', name: '琅琊榜', type: 'mine', thumbnailUrl: '/thumbnails/proj-2.jpg', createdAt: Date.now() - 86400000 * 14, updatedAt: Date.now() - 86400000 * 2, storyboards: [], settings: { resolution: { width: 1920, height: 1080 }, frameRate: 30, duration: 60, }, }, // ... 更多项目 ]; ``` --- ## 3. 分镜数据 ### 3.1 分镜描述文本 **分镜1** - 标题:`"分镜1"` - 描述:`"清晨的阳光照进窗户,主人公在床上慢慢睁开眼睛,开始新的一天。窗外传来鸟鸣声,窗帘随着微风轻轻飘动。"` **分镜2** - 标题:`"分镜2"` - 描述:`"主人公来到厨房,打开冰箱,拿出牛奶和面包,开始准备早餐。厨房里充满了温馨的气息,阳光从窗户洒进来。"` **分镜3** - 标题:`"分镜3"` - 描述:`"坐在餐桌前,主人公一边享用早餐,一边浏览手机上的新闻。桌上摆放着精致的餐具和一杯热气腾腾的咖啡。"` **分镜4** - 标题:`"分镜4"` - 描述:`"吃完早餐,主人公整理好餐具,将碗筷放进洗碗池,打开水龙头清洗。流水声和餐具碰撞的声音交织在一起。"` **分镜5** - 标题:`"分镜5"` - 描述:`"回到房间,主人公打开衣柜,精心挑选今天要穿的衣服,换好衣服后对着镜子整理仪容。镜子里映出满意的笑容。"` **分镜6** - 标题:`"分镜6"` - 描述:`"拿起背包和钥匙,主人公走向门口,回头看了一眼房间,打开门走出去,开始新一天的旅程。门在身后轻轻关上。"` ### 3.2 分镜数据结构 ```typescript const mockStoryboards: Storyboard[] = [ { id: 'sb-1', title: '分镜1', description: '清晨的阳光照进窗户,主人公在床上慢慢睁开眼睛,开始新的一天。窗外传来鸟鸣声,窗帘随着微风轻轻飘动。', order: 1, startTime: 0, endTime: 10, resources: { characters: [{ id: 'char-1', name: '主角-睡姿', type: 'character' }], scenes: [{ id: 'scene-1', name: '卧室场景', type: 'scene' }], props: [{ id: 'prop-1', name: '床+窗帘', type: 'prop' }], videos: ['video-1', 'video-2', 'video-3', 'video-4'], }, }, // ... 更多分镜 ]; ``` --- ## 4. 资源数据 ### 4.1 分镜资源分组数据 **分镜1 资源**: - 人物:`"主角-睡姿"` - 场景:`"卧室场景"` - 道具:`"床+窗帘"` **分镜2 资源**: - 人物:`"主角-厨房"` - 场景:`"厨房场景"` - 道具:`"冰箱+食物"` **分镜3 资源**: - 人物:`"主角-用餐"` - 场景:`"餐桌场景"` - 道具:`"手机+餐具"` **分镜4 资源**: - 人物:`"主角-清洁"` - 场景:`"洗碗池场景"` - 道具:`"碗筷+水槽"` **分镜5 资源**: - 人物:`"主角-换装"` - 场景:`"卧室+衣柜"` - 道具:`"衣服+镜子"` **分镜6 资源**: - 人物:`"主角-出门"` - 场景:`"门口场景"` - 道具:`"背包+钥匙"` --- ## 5. 视频数据 ### 5.1 视频列表(共 20 个视频) 1. **睁眼** - 图生视频 2. **阳光** - 文生视频 3. **起床** - 首尾帧视频 4. **走廊** - 融合生视频 5. **开冰箱** - 实拍替换 6. **拿牛奶** - 图生视频 7. **拿面包** - 文生视频 8. **坐下** - 实视频 9. **看手机** - 图生视频 10. **收拾餐具** - 图生视频 11. **走向洗碗池** - 文生视频 12. **清洗** - 实拍替换 13. **打开衣柜** - 图生视频 14. **挑选衣服** - 融合生视频 15. **换衣服** - 文生视频 16. **照镜子** - 图生视频 17. **整理发型** - 首尾帧视频 18. **拿包** - 图生视频 19. **回望** - 文生视频 20. **开门离开** - 实拍替换 ### 5.2 视频数据结构 ```typescript const mockVideos: VideoAsset[] = [ { id: 'video-1', name: '睁眼', type: 'img2video', startTime: 0, endTime: 2, storyboardId: 'sb-1', }, { id: 'video-2', name: '阳光', type: 'text2video', startTime: 2, endTime: 4, storyboardId: 'sb-1', }, // ... 更多视频 ]; ``` --- ## 6. 音效数据 ### 6.1 音效列表(共 16 个音效) 1. **鸟叫** 2. **床铺声** 3. **脚步声** 4. **开门** 5. **拿东西** 6. **背景音** 7. **碗筷碰撞** 8. **水声** 9. **洗碗声** 10. **柜门** 11. **衣物摩擦** 12. **拉链** 13. **环境音** 14. **拉链**(重复,可能是不同场景) 15. **脚步声**(重复) 16. **开关门** ### 6.2 音效数据结构 ```typescript const mockSoundEffects: SoundEffect[] = [ { id: 'sound-1', name: '鸟叫', startTime: 0, endTime: 2, volume: 80, }, // ... 更多音效 ]; ``` --- ## 7. 字幕数据 ### 7.1 字幕列表(共 16 个字幕) 1. **早安** 2. **新的一天** 3. **去厨房** 4. **准备早餐** 5. **牛奶面包** 6. **享用** 7. **看新闻** 8. **收拾** 9. **清洗餐具** 10. **保持整洁** 11. **选衣服** 12. **今天穿什么** 13. **换装完成** 14. **完美** 15. **准备出门** 16. **新的旅程** ### 7.2 字幕数据结构 ```typescript const mockSubtitles: Subtitle[] = [ { id: 'subtitle-1', text: '早安', startTime: 0, endTime: 2, }, // ... 更多字幕 ]; ``` --- ## 8. 配音数据 ### 8.1 配音列表(共 8 个配音) 1. **旁白1:清晨醒来** 2. **旁白2:去厨房** 3. **旁白3:准备食物** 4. **旁白4:享用早餐** 5. **旁白5:收拾餐具** 6. **旁白6:选择穿搭** 7. **旁白7:整理仪容** 8. **旁白8:出发** ### 8.2 配音数据结构 ```typescript const mockVoiceovers: Voiceover[] = [ { id: 'voice-1', text: '旁白1:清晨醒来', startTime: 0, endTime: 3, voiceType: 'narrator', }, // ... 更多配音 ]; ``` --- ## 9. 其他数据 ### 9.1 协作者数据 **协作者头像**: - `"ZS"` - `"LS"` - `"WW"` - `"+1"` ### 9.2 通知数据 ```typescript const mockNotifications = [ { id: 'notif-1', type: 'project', title: '项目更新', content: '项目"西游记之大圣归来"已更新', read: false, createdAt: Date.now() - 3600000, }, // ... 更多通知 ]; ``` ### 9.3 项目成员数据 ```typescript const mockProjectMembers = [ { id: 'member-1', name: '张三', avatar: 'ZS', role: 'owner', email: 'zhangsan@example.com', }, { id: 'member-2', name: '李四', avatar: 'LS', role: 'editor', email: 'lisi@example.com', }, // ... 更多成员 ]; ``` --- ## 10. 文本内容汇总 ### 10.1 UI 文本 **按钮文本**: - `"新建项目"` - `"导出项目"` - `"AI工具箱"` - `"插入新分镜"` - `"调整"` - `"适应窗口"` - `"填充窗口"` - `"对话改图"` - `"发送"` - `"添加人物"` - `"添加场景"` - `"添加道具"` - `"添加视频"` - `"AI生成资源素材"` - `"AI生成视频素材"` - `"AI生成音效素材"` - `"AI生成字幕素材"` - `"AI生成配音素材"` - `"AI生成分镜素材"` - `"添加轨道"` - `"上一步"` - `"跳过引导"` - `"下一步"` - `"Opt out"` **标签文本**: - `"分镜描述"` - `"预览窗口"` - `"时间轴"` - `"分镜"` - `"资源"` - `"视频"` - `"音效"` - `"字幕"` - `"配音"` - `"人物"` - `"场景"` - `"道具"` - `"项目"` - `"素材库"` - `"我的项目"` - `"协同项目"` **状态文本**: - `"未选择素材"` - `"当前模型: 智能选择"` - `"输入图片描述..."` - `"1920 x 1080"` - `"100%"` - `"00:00:00:00"` - `"缩放: 100%"` - `"步骤 1 / 4"` ### 10.2 AI 提示词示例 **图片提示词示例**: - `"一位中年男性,穿着正装,站在办公室里"` - `"背景是现代化的办公环境,玻璃窗外是城市景观"` **输入框示例内容**: - `"@孙悟空 拿着/金箍棒 在 #火焰山 跟@牛魔王 手持/芭蕉扇 互相攻击。"` ### 10.3 新手引导文本 **步骤1**: - 标题:`"项目与素材管理"` - 描述:`"在这里您可以新增、查看和管理项目,同时可以查看和管理项目中的所有素材资源。"` **步骤2-4**: - (待补充) ### 10.4 警告和提示文本 **Cookie 提示**: - (完整文本请参考原文档第 5.17 节) --- ## 附录 ### A. 数据使用说明 1. **开发阶段**:使用本文档中的数据填充界面 2. **测试阶段**:可基于本文档数据创建测试用例 3. **对接阶段**:真实 API 返回的数据结构应与本文档保持一致 ### B. 数据更新 - 本文档数据基于 Figma 设计稿提取 - 如有设计稿更新,需同步更新本文档 - 新增数据项需遵循现有数据结构 ### C. 变更记录 - **v1.0** (2025-01-27):初始版本,从原文档中分离出所有 mock 数据 --- **文档结束** > 本文档专注于提供初始 mock 数据,功能需求请参考《Jointo产品需求文档》。