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){
    api.alert({msg: 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){
    api.alert({msg: 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){
        api.alert({msg: 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){
    api.alert({msg: JSON.stringify(ret)});
    if(ret.status){
        document.getElementById('encodeImg').src = ret.result;
    }else{
        api.alert({msg: JSON.stringify(ret)});
    }
});

可用性

Android系统,ios系统

可提供的1.0.0及更高版本

是否仍需要帮助? 请保持联络!
最后更新于 2024/12/2