mn 实例对象,可以通过访问其上的成员来进行与 MN 的交互。
只读信息
以下成员均为mn 对象下的只读成员:
- version:插件 SDK 版本号
- currentMode:
workspace/mini。需要插件自行进行适配 - lang: App 界面语言。
- locale: 系统所在区域。
- theme:
light/dark。白色、棕褐色、绿色为light;灰色、黑色为dark - _drag:作用暂不明确
方法
api(path, opts)
对 MN 数据进行 CRUD 操作。此方法调用方式与 Marginnote CLI 相同,但有部分 API 不可用。准确可用 API 需查询 capabilities。 下面代码演示了如何使用mn.api 进行操作
ai(noteid, taskId, params)
mn.ai允许你使用 MN 内置的 AI 执行任务。需要注意的是,使用此命令前需在 template.json 中定义任务 id。
template.json
call(name, data)
用于调用main.js中定义的函数并接收回调。
具体实践详见面板之外
on(event, cb)
mn.on 用于监听 MN 发送的事件。你需要先在 mnaddon.json 里声明你要监听哪些事件。
mnaddon.json
UI 相关
- fit(): 自适应面板高度
- height(h): 设置面板高度
- size(w,h): 设置面板宽高
- mode(m): 设置面板模式为
workspace/mini - close(): 关闭面板
- reload(): 重载面板