zyHmsScan
基础功能
论坛示例
为帮助用户更好更快的使用模块,论坛维护了一个示例,示例中包含示例代码供您参考。
概述
模块简介
本模块封装 华为统一扫码服务(HUAWEI Scan Kit)提供便捷的条形码和二维码扫描、解析、生成能力,帮助您快速构建应用内的扫码功能。
得益于华为在计算机视觉领域能力的积累,Scan Kit可以实现远距离码或小型码的检测和自动放大,同时针对常见复杂扫码场景(如反光、暗光、污损、模糊、柱面)做了针对性识别优化,提升扫码成功率与用户体验。
如有其它疑问或定制需求定联系我企鹅:1161277121
Android云编译最低版本为4.4,IOS云编译最低版本为11.0。
模块接口
openDefaultView
打开默认扫码 不可修改界面元素
openDefaultView({params}, callback(ret))
params
returnAll:
- 类型:布尔
- 描述:(选填)模块有默认字段返回结果 华为封装很多参数未展示出来 为true时返回其所有结果 (android和ios有很大的不同)
- 默认值:false
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status:true|false, //成功
result:"",//返回二维码内容
formatValue:"QR_CODE",//扫描的码类型
sceneType:"WebSite",//码类型
original:""// returnAll为true时 会返回此参数 安卓为字符型 苹果为obj
}
示例代码
var zyHmsScan = api.require('zyHmsScan');
var param = {
//returnAll:true
};
zyHmsScan.openDefaultView(param,function(ret){
alert(JSON.stringify(ret));
});
可用性
Android系统,Ios系统
可提供的1.0.0及更高版本
openBitmapScan
打开自定义扫码 可定义自己的界面 具体可参考论坛demo
openBitmapScan({params}, callback(ret))
params
rect:
- 类型:对象
- 描述:(可选项)打开区域 全为0或不写 则打开全屏
- 内部字段:
{
x:0,
y:0,
w:0,
h:0
}
fixedOn:
- 类型:字符串类型
- 描述:(可选项)模块视图添加到指定 frame 的名字(只指 frame,传 window 无效)
- 默认值:模块依附于当前 window
fixed:
- 类型:布尔
- 描述:(可选项)模块是否不随所属 window 或 frame 滚动
- 默认值:true(不随之滚动)
interval:
- 类型:数字
- 描述:(可选项)连续扫描间隔
- 默认值:3
cameraDirection:
- 类型:字符串类型
- 描述:(可选项)默认前置还是后置 rear后置 front前置
- 默认值:rear
returnAll:
- 类型:布尔
- 描述:(选填)模块有默认字段返回结果 华为封装很多参数未展示出来 为true时返回其所有结果 (android和ios有很大的不同)
- 默认值:false
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status:true|false, //成功
result:"",//返回二维码内容
formatValue:"QR_CODE",//扫描的码类型
sceneType:"WebSite",//码类型
original:""// returnAll为true时 会返回此参数 安卓为字符型 苹果为obj
}
示例代码
var zyHmsScan = api.require('zyHmsScan');
var param = {
interval:1,//连续扫描间隔 默认3
fixedOn:api.frameName,
fixed:false,
//returnAll:true
};
zyHmsScan.openBitmapScan(param,function(ret){
alert(JSON.stringify(ret));
});
可用性
Android系统,Ios系统
可提供的1.0.0及更高版本
closeBitmapScan
关闭自定义扫码 关闭扫码页面时 请务必调用此方法!!否则可能会导致程序闪退
closeBitmapScan(callback(ret))
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status:true,
result:"已关闭"
}
示例代码
var zyHmsScan = api.require('zyHmsScan');
zyHmsScan.closeBitmapScan();
可用性
Android系统,ios系统
可提供的1.0.0及更高版本
pause
监听APP退到后台 具体使用查看demo
pause()
示例代码
api.addEventListener({
name:'pause'
}, function(ret, err){
zyHmsScan.pause();
});
可用性
Android系统,ios系统
可提供的1.0.0及更高版本
resume
监听APP回到前台 具体使用查看demo
resume()
示例代码
api.addEventListener({
name:'resume'
}, function(ret, err){
zyHmsScan.resume();
});
可用性
Android系统,ios系统
可提供的1.0.0及更高版本
switchLight
打开/关闭闪光灯(已打开扫码视图时有效)
switchLight({params})
params
status:
- 类型:字符串
- 描述:(可选项)打开/关闭闪光灯,off关 on开
- 默认值:off
示例代码
var zyHmsScan = api.require('zyHmsScan');
zyHmsScan.switchLight({
status: 'on'
});
可用性
Android系统,ios系统
可提供的1.0.0及更高版本
decodeImg
二维码/条形码图片解码
decodeImg({params}, callback(ret, err))
params
path:
- 类型:字符串
- 描述:(可选项)要识别的图片路径,要求本地路径(fs://、widget://),若不传则打开系统相册
- 默认值:空
returnAll:
- 类型:布尔
- 描述:(选填)模块有默认字段返回结果 华为封装很多参数未展示出来 为true时返回其所有结果 (android和ios有很大的不同)
- 默认值:false
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status:true|false, //成功
result:"",//返回二维码内容
formatValue:"QR_CODE",//扫描的码类型
sceneType:"WebSite",//码类型
original:""// returnAll为true时 会返回此参数 安卓为字符型 苹果为obj
}
示例代码
var zyHmsScan = api.require('zyHmsScan');
zyHmsScan.decodeImg({
}, function(ret, err) {
if(ret.status){
alert(JSON.stringify(ret));
}else{
api.toast({msg:ret.result});
}
});
可用性
Android系统,ios系统
可提供的1.0.0及更高版本
encodeImg
将字符串生成二维码/条形码图片
encodeImg({params}, callback(ret, err))
params
content:
- 类型:字符串
- 描述:(必填)所要生成的二维码/条形码字符串
- 默认值:空
saveToAlbum:
- 类型:布尔
- 描述:(可选项)扫描的二维码/条形码图片是否自动保存到相册
- 默认值:false
savePath:
- 类型:字符串
- 描述:(可选项)自定义保存路径
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status:true|false, //成功
result:"",//返回的图片路径
}
示例代码
var zyHmsScan = api.require('zyHmsScan');
var param = {
content:"zyHmsScan",//内容
saveToAlbum:false,//是否保存到相册
savePath:"",//自定义保存路径 为空时默认路径
};
zyHmsScan.encodeImg(param,function(ret){
alert(JSON.stringify(ret));
if(ret.status){
document.getElementById('encodeImg').src = ret.result;
}else{
alert(JSON.stringify(ret));
}
});
可用性
Android系统,ios系统
可提供的1.0.0及更高版本