Skip to content

Application

Application 代表 MarginNote 应用本身,通过 Application.sharedInstance() 获取单例。用于获取当前窗口、学习控制器、路径以及弹窗/ HUD 等 UI。

获取全局唯一的应用实例。

static sharedInstance(): Application

Return Value:

  • Application: 全局应用实例。
属性类型说明
focusWindowUIWindow当前活动窗口(文档中有时写作 window,getter 为 window)。
currentThemestring当前主题,包括 Default / Sepia/ Gray / Dark / Green
dbPathstring主数据库文件路径。
documentPathstring文稿目录路径。
cachePathstring缓存目录路径。
tempPathstring临时目录路径。
osTypenumber系统类型:0 iPadOS,1 iPhoneOS,2 macOS。
appVersionstring应用版本号。
buildstring构建号。
defaultTintColorUIColor默认强调色。
defaultTintColorForDarkBackgroundUIColor深色背景下的默认强调色。
defaultTintColorForSelectedUIColor选中态默认强调色。
defaultBookPageColorUIColor默认书本页色。
defaultNotebookColorUIColor默认笔记本色。
defaultTextColorUIColor默认文本色。
defaultDisableColorUIColor默认禁用色。
defaultHighlightBlendColorUIColor默认高亮混合色。
searchManagerSearchManager搜索管理器(全文检索/相似搜索等)。

获取指定窗口的学习控制器。

studyController(window: UIWindow): StudyController

Parameters:

NameTypeDescription
windowUIWindow目标窗口(通常传 self.window)。

Return Value:

  • StudyController: 该窗口对应的学习控制器。

在指定视图上显示短暂 HUD。

showHUD(message: string, view: UIView, duration: number): void

Parameters:

NameTypeDescription
messagestring要显示的消息文本。
viewUIViewHUD 的父视图。
durationnumber显示时长(秒)。

在指定视图上显示等待态 HUD(转圈)。

waitHUDOnView(message: string, view: UIView): void

Parameters:

NameTypeDescription
messagestring提示消息文本。
viewUIViewHUD 的父视图。

停止并移除指定视图上的等待 HUD。

stopWaitHUDOnView(view: UIView): void

Parameters:

NameTypeDescription
viewUIViewHUD 所在的父视图。

显示系统警告框(阻塞)。

alert(message: string): void

Parameters:

NameTypeDescription
messagestring警告框内容。

打开 URL(网页或 App URL Scheme)。

openURL(url: NSURL): void

Parameters:

NameTypeDescription
urlNSURL要打开的地址。

数据库变更后刷新指定笔记本的界面。

refreshAfterDBChanged(topicid: string): void

Parameters:

NameTypeDescription
topicidstring笔记本 ID。

查询命令状态。

queryCommandWithKeyFlagsInWindow(command: string, keyFlags: any, window: UIWindow): NSDictionary

这里的command指MarginNote内建命令的字符串标识(可理解为某个菜单动作/操作的ID)。常见command可参考内建command清单

该接口用于查询某个内建command在“当前窗口+修饰键(keyFlags)”上下文里是否可用,以及是否处于勾选态。你可以用它来:

  • 判断某个command当前是否能执行(例如编辑态/无焦点时可能禁用)。
  • 在调用processCommandWithKeyFlagsInWindow(...)之前做保护性判断。

已确认返回值至少包含:

  • disabled:boolean:是否禁用。
  • checked:boolean:是否勾选态。

Parameters:

NameTypeDescription
commandstring内建command字符串标识。
keyFlagsnumber按键标记。
windowUIWindow目标窗口。

Return Value:

  • NSDictionary: 命令状态信息。

执行命令。

processCommandWithKeyFlagsInWindow(command: string, keyFlags: any, window: UIWindow): void

这里的command同样是MarginNote内建命令的字符串标识(可理解为某个菜单动作/操作的ID)。只要command字符串是系统可识别的命令标识,就可以直接调用执行(例如已确认ZoomToFit可执行)。

可用的command列表没有单一集中枚举,建议参考内建command清单页,并在运行时用queryCommandWithKeyFlagsInWindow确认disabled:false后再执行:

Parameters:

NameTypeDescription
commandstring内建command字符串标识。
keyFlagsnumber按键标记。
windowUIWindow目标窗口。

保存文件。

saveFileWithUti(mfile: string, uti: string): void

Parameters:

NameTypeDescription
mfilestring文件路径。
utistring统一类型标识符 (Uniform Type Identifier)。

检查通知发送者对象是否在指定窗口中。

checkNotifySenderInWindow(obj: any, window: UIWindow): boolean

Parameters:

NameTypeDescription
objany通知发送者对象。
windowUIWindow目标窗口。

Return Value:

  • boolean: 是否在窗口中。

按 UTI 打开文件(调用系统文件选择器)。

openFileWithUTIs(types: NSArray, controller: UIViewController, block: JSValue): void

Parameters:

NameTypeDescription
typesNSArray允许的 UTI 类型数组(字符串)。
controllerUIViewController呈现选择器的父控制器。
blockJSValue选择后的回调函数。

注册 HTML 评论编辑器。

regsiterHtmlCommentEditor(commentEditor: any, htmlEditor: any, htmlRender: any, commentTag: string): void

Parameters:

NameTypeDescription
commentEditorany评论编辑器配置/对象。
htmlEditoranyHTML 编辑器配置/对象。
htmlRenderanyHTML 渲染器配置/对象。
commentTagstring评论标签标识。

注销 HTML 评论编辑器。

unregsiterHtmlCommentEditor(commentTag: string): void

Parameters:

NameTypeDescription
commentTagstring评论标签标识。

导入文档(由运行时实现决定入库位置与返回值含义)。

importDocument(fileUrl: string): string
头文件 API 清单

正在加载…

协议:,来源: