Skip to content

MNNotebook

MNNotebook是用于操作学习集和文档笔记本的核心对象,提供集合管理、范围选择、卡片遍历和文档关联等功能,管理集合数据和执行相关操作。

new MNNotebook(notebook: MbTopic|string|MNNotebook)

构造一个新的MNNotebook实例。

参数名类型必填说明
notebookMbTopic|string|MNNotebook学习集对象、学习集id或MNNotebook实例。
static get currentNotebook(): MNNotebook|undefined

返回当前学习集实例。

  • 类型:MNNotebook|undefined
  • 语义:返回当前学习集实例,无法解析时返回undefined。
static allNotebooks(): MNNotebook[]

返回当前数据库中的全部学习集并转换为MNNotebook实例数组。结果包含文档学习集、学习集和复习组,可用于全量遍历。

无。

  • 类型:MNNotebook[]
  • 语义:返回所有notebook的MNNotebook包装数组。
static allNotebookIds(): string[]

返回全部学习集的topicId数组。仅返回id不包含对象详情,适合做快速存在性判断。

无。

  • 类型:string[]
  • 语义:返回全部notebookId数组。
static allDocumentNotebooks(option?: { exceptNotebookIds?: string[]; exceptNotebookNames?: string[] }): MNNotebook[]

返回全部文档学习集并支持排除指定id或名称。未传option时执行全量查询。

参数名类型必填说明
option{ exceptNotebookIds?: string[]; exceptNotebookNames?: string[] }筛选参数对象。
  • 类型:MNNotebook[]
  • 语义:返回文档笔记本的MNNotebook实例数组。
static allReviewGroups(option?: { exceptNotebookIds?: string[]; exceptNotebookNames?: string[] }): MNNotebook[]

返回全部复习组并支持排除指定id或名称。未传option时执行全量查询。

参数名类型必填说明
option{ exceptNotebookIds?: string[]; exceptNotebookNames?: string[] }筛选参数对象。
  • 类型:MNNotebook[]
  • 语义:返回复习组的MNNotebook实例数组。
static allStudySets(option: {exceptNotebookIds?:string[],exceptNotebookNames?:string[]}): MNNotebook[]

返回flags为2的学习集实例数组。会按option排除指定学习集,不满足条件时返回空数组。

参数名类型必填说明
option{exceptNotebookIds?:string[],exceptNotebookNames?:string[]}排除配置。
  • 类型:MNNotebook[]
  • 语义:返回flags为2且满足排除条件的学习集数组。
notebook: MbTopic

暴露当前实例绑定的原生MbTopic对象。该对象用于访问底层字段,修改时会直接影响当前学习集状态。

  • 类型:MbTopic
  • 语义:返回当前实例绑定的原生notebook对象。
get notebookId(): string

读取当前学习集的topicId。该字段与notebookId等价,可用于需要原生topic标识的接口。

  • 类型:string
  • 语义:返回当前notebook的topicId。
get topicId(): string

读取当前学习集的topicId。该字段是topicId别名,便于与不同调用方命名保持一致。

  • 类型:string
  • 语义:返回当前notebook的topicId。
get id(): string

读取当前学习集的topicId。该字段是id别名,适合通用对象列表渲染场景。

  • 类型:string
  • 语义:返回当前notebook的topicId。
get title(): string

读取学习集标题用于界面展示或日志输出。标题内容来自原生对象,不做额外格式化。

  • 类型:string
  • 语义:返回学习集标题。
get flags(): number

读取原生flags数值。该值用于区分文档学习集、学习集和复习组。

  • 类型:number
  • 语义:返回原生flags数值。
get noteColors(): void

触发当前学习集摘录颜色查询。当前实现不返回颜色结果,仅执行内部查询调用。

  • 类型:void
  • 语义:当前实现只调用查询函数,不返回颜色结果。
get type(): 'documentNotebook'|'studySet'|'reviewGroup'|string

根据flags返回学习集类型标识。遇到未收录flags时返回字符串类型值。

  • 类型:'documentNotebook'|'studySet'|'reviewGroup'|string
  • 语义:按flags映射返回集合类型。
get url(): string

生成当前学习集的MarginNote内部链接。链接格式固定为marginnote4app://notebook/

  • 类型:string
  • 语义:返回marginnote4app://notebook/<topicId>格式链接。
get mainDocMd5(): string|undefined

读取学习集主文档md5。非文档学习集或未绑定主文档时返回undefined。

  • 类型:string|undefined
  • 语义:返回主文档md5。
get mainDoc(): MbBook|undefined

按mainDocMd5解析并返回文档对象。主文档不存在或无法解析时返回undefined。

  • 类型:MbBook|undefined
  • 语义:可解析时返回文档对象,失败返回undefined。
get notes(): MNNote[]

返回学习集中的卡片数组并转换为MNNote实例。学习集类型为studySet时会过滤内部辅助卡片。

  • 类型:MNNote[]
  • 语义:返回当前集合中的MNNote数组。
get documents(): MbBook[]

返回当前学习集关联的文档对象数组。没有关联文档时返回空数组。

  • 类型:MbBook[]
  • 语义:返回关联文档对象数组。
get documentIds(): string[]|undefined

返回当前学习集关联文档id列表。底层docList为空时返回undefined。

  • 类型:string[]|undefined
  • 语义:返回docList按|拆分后的id数组。
get options(): object

读取学习集附加配置对象。配置结构随MarginNote版本变化,使用前应先判断字段是否存在。

  • 类型:object
  • 语义:返回notebook附加配置对象。
get hashtags(): string

读取学习集原始hashtags字符串。未设置标签时可能返回空字符串。

  • 类型:string
  • 语义:返回原始hashtags字符串。
get tags(): string[]

把hashtags拆分为标签数组并移除空项。返回结果不包含前导#。

  • 类型:string[]
  • 语义:返回去空后的标签数组。
get tagsTree(): Array<{ name: string; path: string; children: Array<{ name: string; path: string; children: object[]; isLeaf?: boolean }>; isLeaf?: boolean }>

把标签数组转换为树形结构,便于分级展示。无标签时返回空数组。

  • 类型:Array<{ name: string; path: string; children: Array<{ name: string; path: string; children: object[]; isLeaf?: boolean }>; isLeaf?: boolean }>
  • 语义:返回标签树对象。
set hideLinksInMindMapNode(hide: boolean): void

设置脑图节点是否隐藏链接。写入后会直接更新当前学习集配置。

  • 类型:void
  • 语义:写入当前学习集配置后立即返回,不提供持久化结果回调。
get hideLinksInMindMapNode(): boolean

读取脑图节点隐藏链接开关。未显式设置时返回底层默认值。

  • 类型:boolean
  • 语义:返回当前是否隐藏链接。
get reviewGroup(): MNNotebook|undefined

返回当前学习集关联的复习组实例。没有reviewTopic时返回undefined。

  • 类型:MNNotebook|undefined
  • 语义:有reviewTopic时返回复习组实例,没有则返回undefined。
get tabDocuments(): MbBook[]

返回当前学习集的标签页文档列表。未配置tab文档时返回空数组。

  • 类型:MbBook[]
  • 语义:返回标签页文档对象列表,没有配置时返回空数组。
get focusedChat(): MNNote|undefined

返回当前学习集聚焦的聊天卡片。没有FocusChatId时返回undefined。

  • 类型:MNNote|undefined
  • 语义:有FocusChatId时返回聊天卡片,否则返回undefined。
constructor(notebook: MbTopic|string)

构造并绑定一个学习集对象到当前实例。建议优先使用MNNotebook.new以获得统一转换和空值校验。

参数名类型必填说明
notebook`MbTopicstring`
  • 类型:MNNotebook
  • 语义:返回与输入学习集绑定的MNNotebook实例。
notebooksForDoc(docMd5?: string): MNNotebook[]|undefined

返回目标文档在当前学习集中的文档学习集列表。目标文档没有映射时返回undefined。

参数名类型必填说明
docMd5string文档md5,默认当前文档。
  • 类型:MNNotebook[]|undefined
  • 语义:命中映射返回MNNotebook数组,没有映射返回undefined。
mainNoteForDoc(docMd5?: string): MNNote|undefined

返回目标文档在当前学习集中的主卡片。没有主卡映射时返回undefined。

参数名类型必填说明
docMd5string文档md5,默认当前文档。
  • 类型:MNNote|undefined
  • 语义:找到映射返回主卡片,未找到返回undefined。
tocNotesForDoc(docMd5?: string): MNNote[]

返回目标文档对应的目录卡片列表。没有目录映射时返回空数组。

参数名类型必填说明
docMd5string文档md5,默认当前文档。
  • 类型:MNNote[]
  • 语义:找到映射返回目录卡片数组,没有映射返回空数组。
open(): void

打开当前学习集。该方法只触发跳转行为,不返回打开结果。

无。

  • 类型:void
  • 语义:触发打开学习集动作后立即返回,不等待界面跳转完成。
openDoc(docMd5: string): void

在当前学习集中打开指定文档。传入docMd5无效时不会得到可用文档页面。

参数名类型必填说明
docMd5string目标文档md5。
  • 类型:void
  • 语义:触发文档打开动作后立即返回,不等待文档渲染完成。
importDoc(): void

调起导入文档流程并把文档加入当前学习集。该方法仅触发系统动作,不返回导入结果。

无。

  • 类型:void
  • 语义:触发系统导入流程后立即返回,不直接提供导入结果。
copy(): void

复制当前学习集的关键信息到剪贴板。输出内容主要用于调试和手动核对。

无。

  • 类型:void
  • 语义:完成复制动作后立即返回,不返回剪贴板写入状态。
头文件 API 清单

正在加载…

协议:,来源: