问题描述
飞书文档中的思维导图已在画布上更新,但通过 lark-cli 获取白板 Mermaid 源文本时,仍然返回旧版本内容。
当前画布预览和原生节点数据已经是新版本,而文档读取接口及 Mermaid 源码导出接口仍返回旧版本。
环境
lark-cli: 1.0.93
@larksuite/whiteboard-cli: 0.2.13
- 文档类型:飞书 Wiki 文档
- 白板类型:思维导图
- 文档和白板标识符可在需要时通过私下渠道提供
复现步骤
- 在飞书中更新一个已有思维导图,修改或删除若干节点,并新增若干节点。
- 通过文档读取接口获取文档内容。
- 通过白板导出接口分别获取:
- Mermaid 源文本;
- 预览图;
- 原生节点数据。
- 对比三种输出。
示例命令:
lark-cli docs +fetch \
--doc <DOC_URL_OR_TOKEN> \
--doc-format markdown \
--detail simple \
--as user \
--format json
lark-cli whiteboard +export \
--whiteboard-token <WHITEBOARD_TOKEN> \
--output-type source \
--output ./source.mmd \
--overwrite \
--as user
lark-cli whiteboard +export \
--whiteboard-token <WHITEBOARD_TOKEN> \
--output-type preview \
--output ./preview \
--overwrite \
--as user
lark-cli whiteboard +export \
--whiteboard-token <WHITEBOARD_TOKEN> \
--output-type raw \
--output ./nodes.json \
--overwrite \
--as user
实际结果
三种输出不一致:
docs +fetch 内容 = whiteboard export source
whiteboard export preview = whiteboard export raw
前一组与后一组内容不同
Mermaid 源文本仍是旧版本,而预览图和原生节点数据反映的是当前画布。
预期结果
所有读取方式都应对应同一份当前版本的白板内容;如果导出的 Mermaid 是历史源文本,应明确标注其版本和更新时间。
影响
依赖 Mermaid 源文本进行文档解析、测试点提取、流程生成或内容同步时,可能读取已删除或已修改的旧节点,导致生成结果与用户当前看到的白板不一致。
初步判断
白板可能同时保留了历史 Mermaid 源节点和后续编辑形成的当前原生画布节点。output-type source 及文档读取接口可能优先返回历史 Mermaid 源,而不是根据当前原生节点生成内容。
建议
output-type source 基于当前原生画布生成最新 Mermaid;
- 或在返回结果中明确标识源文本的版本和更新时间;
- 当 Mermaid 源与原生节点不一致时返回警告;
- 文档读取接口返回白板资源的当前版本信息;
- 增加区分“历史源文本”和“当前画布结构”的接口或参数。
问题描述
飞书文档中的思维导图已在画布上更新,但通过
lark-cli获取白板 Mermaid 源文本时,仍然返回旧版本内容。当前画布预览和原生节点数据已经是新版本,而文档读取接口及 Mermaid 源码导出接口仍返回旧版本。
环境
lark-cli:1.0.93@larksuite/whiteboard-cli:0.2.13复现步骤
示例命令:
实际结果
三种输出不一致:
Mermaid 源文本仍是旧版本,而预览图和原生节点数据反映的是当前画布。
预期结果
所有读取方式都应对应同一份当前版本的白板内容;如果导出的 Mermaid 是历史源文本,应明确标注其版本和更新时间。
影响
依赖 Mermaid 源文本进行文档解析、测试点提取、流程生成或内容同步时,可能读取已删除或已修改的旧节点,导致生成结果与用户当前看到的白板不一致。
初步判断
白板可能同时保留了历史 Mermaid 源节点和后续编辑形成的当前原生画布节点。
output-type source及文档读取接口可能优先返回历史 Mermaid 源,而不是根据当前原生节点生成内容。建议
output-type source基于当前原生画布生成最新 Mermaid;