文档管理
在工作区中创建、重命名、删除与组织各类文档——从画布、故事板到上传的图片和媒体文件。
工作区中的每份内容都是一个 文档(WorkspaceDocument)。文档有类型、路径、文件名,并受工作区下的唯一性约束 (workspaceId, path, filename)——也就是说同一路径下不能有同名文件,这与操作系统文件系统一致。
支持的文档类型
VizChat 后端 DocumentType 枚举定义了以下类型:
| 类型 | 说明 |
|---|---|
text | 纯文本文件,直接在内置编辑器中编辑 |
parsable_document | 富文本文档(Markdown / 所见即所得),支持大纲解析 |
image | 图片资源(PNG / JPG / GIF / WebP 等) |
media | 音频、视频等媒体文件 |
storyboard | 故事板——由多个 slide 组成的可播放演示 |
dashboard | 仪表盘——由多个节点组成的自由画布 |
bookmark | 书签(外部网页链接) |
每种类型对应一个渲染器(TextEditor / RichDocumentPreview / ImageViewer / MediaPlayer / HostStoryboardCanvasFrame / HostDashboardCanvasFrame / BookmarkRenderer),在 DocumentWorkspace 中按类型自动切换。其中 storyboard / dashboard 由 host 内嵌 cross-origin canvas-iframe 渲染。
常见操作
- 创建:在左侧文件树点击
+,选择类型并输入文件名 - 上传:直接把本地文件拖入文件树,后端自动识别
mimeType并落到 GCS 存储(storagePath字段) - 重命名 / 移动:改
filename或path——底层是文件系统式的虚拟路径 - 删除:级联删除,来自
ondelete="CASCADE" - 状态跟踪:
status字段支持parsing→ready/error,用于大文件异步解析(如 PDF 抽文本)
元数据与大纲
outline:JSON 数组,存parsable_document的章节大纲,供 AI 定位引用totalLines:文本文档的总行数,供行号引用description:可选描述,出现在文件树悬浮提示中doc_metadata:JSON 字段,存自定义扩展(如storyboard的 slide 顺序)
Next step
- 文件树 + Tab 栏 — 文档导航 UI
- 画布 —
dashboard类型文档的完整功能