比对路由校验值
const st = await mn.api('/status');
if (st.apiFingerprint !== cachedFingerprint) {
// 校验值变了,本地保存的接口清单和字段都要重新核对
}
{
"routeCount": 87,
"appVersion": "4.5.0",
"enabled": true,
"app": "MarginNote 4",
"instanceNonce": "QqWKCQYQS08cMi3tPkB2fA",
"guideVersion": "0.61",
"authorized": true,
"guide": {
"sha256": "c58ca54dfa21245e25cd863c5cbc2084f94d69c188e15f22fa86bbfd4809512a",
"refreshPolicy": "fetch_at_session_start_when_version_or_sha256_differs",
"rotatesToken": false,
"usesExistingBearer": true,
"installRequired": false,
"version": "0.61",
"route": "/guide"
},
"guideHash": "c58ca54dfa21245e25cd863c5cbc2084f94d69c188e15f22fa86bbfd4809512a",
"apiFingerprint": "17b754d41172",
"bridgeApiVersion": "0.61"
}能力与状态
获取运行状态
返回 App 名称与版本、接口版本、注册的路由条数、路由目录校验值,以及运行规程的版本与哈希。
校验值变了就说明接口变了。把本地的路由清单和校验值存下来,启动时比对一次,
就能判断要不要重新获取 GET /capabilities。
GET
/
status
比对路由校验值
const st = await mn.api('/status');
if (st.apiFingerprint !== cachedFingerprint) {
// 校验值变了,本地保存的接口清单和字段都要重新核对
}
{
"routeCount": 87,
"appVersion": "4.5.0",
"enabled": true,
"app": "MarginNote 4",
"instanceNonce": "QqWKCQYQS08cMi3tPkB2fA",
"guideVersion": "0.61",
"authorized": true,
"guide": {
"sha256": "c58ca54dfa21245e25cd863c5cbc2084f94d69c188e15f22fa86bbfd4809512a",
"refreshPolicy": "fetch_at_session_start_when_version_or_sha256_differs",
"rotatesToken": false,
"usesExistingBearer": true,
"installRequired": false,
"version": "0.61",
"route": "/guide"
},
"guideHash": "c58ca54dfa21245e25cd863c5cbc2084f94d69c188e15f22fa86bbfd4809512a",
"apiFingerprint": "17b754d41172",
"bridgeApiVersion": "0.61"
}响应
200 - application/json
版本与校验值。
当前 MarginNote 的能力快照。
App 名称。
App 版本号。
接口服务是否可用。
本次请求是否带有效令牌。面板走进程内的路径,该项的意义有限。
接口版本,也是本分组 info.version 的取值来源。
MarginNote 注册的路由条数。
路由目录校验值。校验值不同就说明接口变了,据此判断本地的清单是否还有效。
运行规程的版本号。
运行规程正文的 SHA-256。版本号相同而哈希不同,说明正文改过,按哈希缓存才可靠。
本次运行的身份串,用于判断发现文件是否过期。
运行规程的元信息。
Show child attributes
Show child attributes