外观
文本识别
文本识别插件需要实现以下函数:
- 获取支持的语言数组(必须实现)
- 执行文字识别(必须实现)
- 自定义文字识别超时时间(可选)
- 自定义验证(可选)
1. 获取支持的语言数组
与文本翻译插件要求相同,点此查看。
2. 执行文字识别
javascript
function ocr(query, completion) {
...
...
completion({'result': result});
// or
completion({'error': error});
}
该函数在每次进行图片识别的时候会被调用。
query
参数为object
类型,用于描述需要识别的图片信息completion
参数为function
类型,用于识别完成后回调
query
query
参数的结构如下:
属性 | 类型 | 说明 |
---|---|---|
image | $data | 需要识别的图片数据 |
from | string | 目前用户选中的源语言,可能是 auto 。查看 语言代码。 |
detectFrom | string | 图片中最可能的语言,一定不是 auto ,如果插件不具备检测语言的能力,可直接使用该属性。查看 语言代码。 |
示例:
javascript
{
'image': $data数据,
'from': 'auto',
'detectFrom': 'en'
}
completion
completion
函数的参数为 object
类型,根据不同情况赋值对应属性:
属性 | 类型 | 说明 |
---|---|---|
result | ocr result | 翻译成功时,设置该属性。 |
error | service error | 识别错误时,设置该属性。 |
3. 自定义文字识别超时时间 Bob 1.6.0+ 可用
Bob 主程序调用插件 ocr 函数的时候,会设定一个超时时间,防止插件出现不回调的情况。
超时时间默认为 60 秒,可自定义为 30 秒到 300 秒之间。不建议将超时时间设置得过长,比较影响用户体验。如无特殊需要,请勿自定义超时时间。
如果需要自定义超时时间,可以实现以下函数:
js
function pluginTimeoutInterval() {
return 60;
}
4. 自定义验证 Bob 1.6.0+ 可用
如果插件想要在偏好设置显示验证按钮,可以自行实现验证函数。
验证函数的 completion
参数为 function
类型,用于验证完毕之后回调。
completion
的参数为 object
类型,根据不同情况赋值对应属性:
属性 | 类型 | 说明 |
---|---|---|
result | boolean | 验证是否成功。 |
error | service error | 验证失败时,设置该属性。 |
注意,error 新增了 troubleshootingLink
属性,可用于验证失败时显示故障排除的链接给用户。
js
function pluginValidate(completion) {
// 验证成功示例
completion({ result: true });
// 验证失败示例
completion({
result: false,
error: {
type: "secretKey",
message: "未设置秘钥",
troubleshootingLink: "https://www.google.com"
}
});
}