documentId 可以理解为一份 Mindraw 文档的“永久身份证”。它不是文件名,也不是磁盘路径,而是写在 .mindraw 文档包内部 manifest.json 里的唯一标识。
例如:
{
"documentId": "mdoc_fxt_minimal_empty_7P2J9K4M8R1T6V3X"
}
文件路径并不稳定。比如:
/Users/ar/Desktop/实验-ob-tag-page/26.0828-01.mindraw
之后可能被:
如果链接直接保存绝对路径,移动文件后链接就会失效。因此 Mindraw 用 documentId 表示“这是哪一份文档”,用 elementId 表示“要定位到文档里的哪个对象”。
完整链接类似:
mindraw://localhost
?documentId=mdoc_ABC123
&elementId=sS0GXWYigG9i42EMEC7yW
其中:
mindraw://:要求 macOS 调起 Mindraw。documentId:找到具体的 .mindraw 文档。elementId:在文档中找到具体 Frame、图形或文字元素。| 标识 | 表示什么 | 是否容易改变 |
|---|---|---|
| 文件名 | 文档当前叫什么 | 会改变 |
| 文件路径 | 文档当前放在哪里 | 会改变 |
documentId |
这究竟是哪一份文档 | 原则上不变 |
elementId |
文档里的哪一个对象 | 对象未删除时通常不变 |
可以类比为:
documentId 是身份证号;elementId 是房间号。住址可以变化,但身份证不应随之变化。
Mindraw正常打开一个 .mindraw 包时,会:
manifest.json;documentId;documentId 和 elementId 写进链接;documentId 找回文档,再定位到对应元素。如果文档移动过,Mindraw 本机记录的旧路径可能失效。这时合理行为应当是让用户重新选择对应的 .mindraw 包,验证其 documentId 后重新建立关联。
不是。documentId:
别人只有这个链接,但电脑上没有相应 .mindraw 文件,仍然打不开文档内容。
这里需要区分两种语义:
documentId,旧链接才能继续指向它。documentId,避免两份文件都声称自己是同一文档。如果直接在 Finder 里复制整个 .mindraw 包,两份包可能暂时拥有相同 documentId。这会造成链接目标歧义,需要 Mindraw在“另存为副本”场景中明确处理。
你的 Frame 本身有正常的元素 ID:
sS0GXWYigG9i42EMEC7yW
但复制时,Mindraw前端没有拿到当前文档的 documentId,于是错误地退回了:
tauri://localhost?element=...
所以问题不在 Frame,也不是你操作错了;问题是 Mindraw 在当前运行状态中没有正确携带文档身份,并且错误地把内部兜底地址暴露给了你。