# 文档编辑器 - 产品需求文档

> **版本**: v1.1
> **状态**: Approved
> **创建日期**: 2026-01-05
> **最后更新**: 2026-01-15
> **产品经理**: 前端团队

---

## ✅ 机器读取区（必填）

### 通用字段

| 字段 | 内容 |
|------|------|
| 模块 | 文档编辑器 (Document Editor) |
| 文档类型 | PRD |
| 目标 | 提供可复用的前端富文本编辑组件与扩展体系 |
| 范围 | In Scope / Out of Scope |
| 核心规则 | 编辑器不包含业务逻辑；通过扩展体系定义能力；用户可见文案必须 i18n；仅提供前端组件 API |
| 验收标准 | 支持基础格式化与块级结构；支持 SlashMenu/浮动工具栏/链接编辑；支持 Markdown 导出；暴露稳定的组件 Props/Ref API |
| 关联文档 | `03-architecture.md` / `05-ui-interaction-spec.md` / `07-api.md` / `09-test-scenarios.md` |

### 功能清单（最小）

| 功能 | 优先级 | 说明 |
|------|--------|------|
| 文档编辑器组件 | P0 | 基于 ProseMirror 的富文本编辑能力 |
| 扩展体系 | P0 | 节点/标记/插件可配置注册 |
| SlashMenu | P1 | 斜杠菜单指令触发与搜索 |
| 浮动工具栏 | P1 | 选中文本时显示格式化工具 |
| 链接编辑器 | P1 | 插入与编辑链接 |
| Markdown 导出 | P1 | JSON 内容序列化为 Markdown |
| 图片上传钩子 | P2 | 通过回调处理上传逻辑 |
| 字数统计 | P2 | 输出字符/词/段落统计 |

---

## 🧭 人类阅读区（可选）

### 背景

多个业务模块都需要富文本编辑能力。为了避免重复实现并保持一致体验，将编辑能力沉淀为独立模块，提供可复用的前端组件与扩展机制。

### 目标用户

| 角色 | 描述 | 使用场景 |
|------|------|---------|
| 业务前端开发者 | 集成编辑器组件 | 知识库、表单、公告等业务页面 |
| 终端用户 | 进行内容编辑 | 文章、说明、描述等文本内容 |

### 范围说明

**In Scope**
- 前端富文本编辑组件
- 扩展体系（节点/标记/插件）
- 斜杠菜单、浮动工具栏、链接编辑
- Markdown 导出能力

**Out of Scope**
- 后端文档存储 API
- 协同编辑与版本管理
- 多编辑器形态（Markdown/代码编辑器）

### 详细需求（摘要）

- 支持基础格式化（粗体、斜体、下划线、删除线、代码、高亮）
- 支持块级结构（标题、列表、引用、代码块、分割线、表格、提示框）
- 支持图片插入（通过回调上传）
- 支持 SlashMenu 指令与键盘导航
- 支持浮动工具栏与快捷键

### 说明与约束

- 编辑器自身不存储业务数据，保存由上层业务完成
- 对外仅提供前端组件 API，不承诺后端接口
- 文案与提示必须使用 i18n key，禁止硬编码
