ACScanner
openScan closeScan show hide flash encodeQR decodeQR
模块概述
ACScanner 模块封装了原生二维码库,可扫描二维码、条形码、生成二维码等。
注意:使用本模块前,需在云编译页面勾选添加访问摄像头权限
android设置targetVersion
模块接口
openScan
打开扫描控件
openScan({params}, callback(ret))
params
rect:
- 类型:JSON 对象
- 描述:(可选项)扫描器的位置及尺寸,在安卓平台宽高比须跟屏幕宽高比一致,否则摄像头可视区域的图像可能出现少许变形;w和h属性最好使用api.winWidth和api.winHeight,这样不会导致变形,也不会出现手机必须要在一定的距离上才能扫描出来的现象
- 内部字段:
{
x: 0, //(可选项)数字类型;模块左上角的 x 坐标(相对于所属的 Window 或 Frame);默认:0
y: 0, //(可选项)数字类型;模块左上角的 y 坐标(相对于所属的 Window 或 Frame);默认:0
w: 320, //(可选项)数字类型;模块的宽度;默认:所属的 Window 或 Frame 的宽度
h: 480 //(可选项)数字类型;模块的高度;默认:所属的 Window 或 Frame 的高度
}
scanAnim:
- 类型:JSON 对象
- 描述:(可选项)扫描动画配置
- 默认:不显示扫描动画
- 内部字段:
{
w:, //(可选项)数字类型;扫描框宽度;默认:200
h:, //(可选项)数字类型;扫描框高度;默认:200
framColor:'', //(可选项) 字符串类型;扫描框颜色;默认;“#ff5f00”
lineColor:'', //(可选项)字符串类型;扫描线颜色;默认:“#ff5f00”
}
scanType:
- 类型:数字类型
- 描述:(可选项)扫描码类型
- 取值范围:1/二维码,2/条形码,3/全部类型
- 默认:3
sound:
- 类型:字符串
- 描述:(可选项)扫描结束后的提示音文件路径,要求本地路径(fs://、widget://),endSound为true时有效为保证兼容性,推荐使用 wav 格式的短音频文件
- 默认:无
scanInterval:
- 类型:数字
- 描述:(可选项)连续扫描间隔;单位:秒
- 默认值:2
scanStill:
- 类型:布尔类型
- 描述:(可选项)是否连续扫描;
- 默认值:true
isDrawQRCodeRect:
- 类型:布尔
- 描述:(可选项) 是否开启二维码自动对焦
- 默认值:false
fixedOn:
- 类型:字符串类型
- 描述:(可选项)模块视图添加到指定 frame 的名字(只指 frame,传 window 无效)
- 默认:模块依附于当前 window
fixed:
- 类型:布尔
- 描述:(可选项)模块是否随所属 window 或 frame 滚动
- 默认值:true(不随之滚动)
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status:, //布尔类型,接口是否调用正常
eventType: 'success', //字符串类型;扫码事件类型
//取值范围:
//show(模块显示)
//success(扫码成功)
//cameraError(访问摄像头失败) (android 需要设置targetVersion>= 23 , 且仅缺少权限时返回)
content: '' //扫描的二维码/条形码信息
}
err:
- 类型:JSON 对象
- 内部字段:
{
msg: ‘’, //字符串类型;错误信息
}
示例代码
var ACScanner = api.require('ACScanner');
ACScanner.openScan({
scanAnim: {
w:200,
h:200,
}
}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
closeScan
关闭扫描控件
closeScan({params}, callback(ret))
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status:, //布尔类型,接口是否调用正常
}
err:
- 类型:JSON 对象
- 内部字段:
{
msg: ‘’, //字符串类型;错误信息
}
示例代码
var ACScanner = api.require('ACScanner');
ACScanner.closeScan({
}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
show
显示控件,打开以后有效
show({params}, callback(ret))
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status:, //布尔类型,接口是否调用正常
}
err:
- 类型:JSON 对象
- 内部字段:
{
msg: ‘’, //字符串类型;错误信息
}
示例代码
var ACScanner = api.require('ACScanner');
ACScanner.show({
}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
hide
隐藏控件,打开以后有效
hide({params}, callback(ret))
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status:, //布尔类型,接口是否调用正常
}
err:
- 类型:JSON 对象
- 内部字段:
{
msg: ‘’, //字符串类型;错误信息
}
示例代码
var ACScanner = api.require('ACScanner');
ACScanner.hide({
}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
flash
开关灯
flash({params}, callback(ret))
parameter
light:
- 类型:布尔类型
- 描述:(可选项)是否打开灯
- 默认:打开
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status:, //布尔类型,接口是否调用正常
}
err:
- 类型:JSON 对象
- 内部字段:
{
msg: ‘’, //字符串类型;错误信息
}
示例代码
var ACScanner = api.require('ACScanner');
ACScanner.flash({
light:false,
}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
encodeQR
生成二维码
encodeQR({params}, callback(ret))
parameter
content:
- 类型:字符串类型
- 描述:生成二维码内容
size:
- 类型:数字
- 描述:(可选项)生产二维码图片的宽高,仅支持iOS
- 默认:200
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status:, //布尔类型;接口是否调用正常
qrPath:'', //字符串类型;生成二维码路径
}
err:
- 类型:JSON 对象
- 内部字段:
{
msg: ‘’, //字符串类型;错误信息
}
示例代码
var ACScanner = api.require('ACScanner');
ACScanner.encodeQR({
content:“”,
}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
decodeQR
解码二维码
decodeQR({params}, callback(ret))
parameter
img:
- 类型:字符串类型
- 描述:二维码路径,支持weight、fs
callback(ret)
ret:
- 类型:JSON 对象
- 内部字段:
{
status:, //布尔类型;接口是否调用正常
content:'', //字符串类型;二维码内容
}
err:
- 类型:JSON 对象
- 内部字段:
{
msg: ‘’, //字符串类型;错误信息
}
示例代码
var ACScanner = api.require('ACScanner');
ACScanner.decodeQR({
img:“”,
}, function(ret, err) {
if (ret) {
alert(JSON.stringify(ret));
} else {
alert(JSON.stringify(err));
}
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本