获取作答预览
const r = await mn.api('/writing/session-preview', {
method: 'POST',
body: { runId, attemptId }
});
if (r.error && r.error.code === 'PREVIEW_SOURCE_DIRTY') {
// 唯一明确可以稍后再来的拒绝:主数据上下文还有未保存的改动
}
if (r.pngBase64) document.querySelector('#shot').src = 'data:image/png;base64,' + r.pngBase64;{
"readOnly": true,
"scope": "one-persisted-layer",
"coverage": "stored-sketch-subnotes-only",
"state": "no-stored-ink"
}手写会话
查询作答预览
以只读方式取某一趟作答中已退出的尝试的专用层中已保存的笔迹,可以附带一张有 尺寸上限的预览图。
输入要精确到趟与尝试。不要传层身份、路径或渲染范围。
state 的含义见 WritingPreviewResponse。该预览不含未保存的画布、未分层的文字与图片框。
主数据上下文还有没保存的改动时会被拒,这是写入接口里唯一表示稍后重试的错误码。
尝试记录由独立的练习插件保管,宿主另有一条判据,只允许该插件查看自己的尝试。 命令行发起的调用不受该判据约束,本机实测可以取到预览。
POST
/
writing
/
session-preview
获取作答预览
const r = await mn.api('/writing/session-preview', {
method: 'POST',
body: { runId, attemptId }
});
if (r.error && r.error.code === 'PREVIEW_SOURCE_DIRTY') {
// 唯一明确可以稍后再来的拒绝:主数据上下文还有未保存的改动
}
if (r.pngBase64) document.querySelector('#shot').src = 'data:image/png;base64,' + r.pngBase64;{
"readOnly": true,
"scope": "one-persisted-layer",
"coverage": "stored-sketch-subnotes-only",
"state": "no-stored-ink"
}请求体
application/json
响应
预览。
某一趟作答中已退出的尝试所留下的笔迹预览。只读。
该响应的结构版本。
没有笔迹时返回 no-stored-ink。该值仅表示该层没有保存的笔迹,不代表整道题没有内容。出现其他取值时按未知字符串处理。
可用选项:
no-stored-ink 预览覆盖的范围。
预览包含哪一类内容。仅包含专用层中已保存的笔迹项,不包含未分层的文字与图片框。
固定为 true。该接口不写任何内容。
该次作答的身份。
该次作答所属的趟。
该次作答在本趟里的次序。
该次作答所属的题目。
该次作答所在的位置。
该次作答所属的学习集。
取到的笔迹项数。
固定为 false。未保存的画布不在预览里。
base64 编码的预览图。有尺寸上限,超出上限时该字段不返回。
宿主的接口版本。