Hms Scan

/ Title: hmsScan Description: 华为统一扫码服务 /

来自于:770104707@qq.com立即使用

概述

华为统一扫码服务简介

统一扫码服务(Scan Kit)提供便捷的条形码和二维码扫描、解析、生成能力,帮助您快速构建应用内的扫码功能。

得益于华为在计算机视觉领域能力的积累,Scan Kit可以实现远距离码或小型码的检测和自动放大,同时针对常见复杂扫码场景(如反光、暗光、污损、模糊、柱面)做了针对性识别优化,提升扫码成功率与用户体验。

Scan Kit支持Android和iOS系统集成。其中,Android系统集成Scan Kit后支持横屏扫码能力。

Scan Kit支持扫描13种全球主流的码制式。如果您的应用只处理部分特定的码制式,您也可以在setFormat中指定制式以便加快扫码速度,如果不指定,则默认处理所有支持的码制式。当前支持的码制式如下,后续将持续扩充。

一维码:EAN-8、EAN-13、UPC-A、UPC-E、Codabar、Code 39、Code 93、Code 128、ITF-14 二维码:QR Code、Data Matrix、PDF417、Aztec

码值解析 Scan Kit可以直接返回码的原始内容,也可以针对使用特定内容格式编码的二维码/条形码进行分析并提取结构化数据,帮助开发者快速构建关联服务。已支持如下场景:联系人信息、Wi-Fi连接信息、网页、日历日程、ID卡、短信、电话、邮件、地理位置、商品条码、ISBN。

码生成 Scan Kit支持将字符串转换为一维码或二维码,目前已支持的码制式为EAN-8、EAN-13、UPC-A、UPC-E、Codabar、Code 39、Code 93、Code 128、ITF-14、QR Code、Data Matrix、PDF417、Aztec。开发者只需要提供字符串、码制式和尺寸要求即可获得相应的码图。

hmsScan 模块概述

本模块封装了华为统一扫码服务简介的原生 SDK,集成了扫一扫二维码识别、图片二维码识别、二维码生成;

模块依赖

  • 注意:

1.使用本模块需要上传【hmsCore】扩展模块包,配合使用(【自定义模块教程】)

2.如遇见其他问题请联系QQ:770104707

模块使用攻略

使用之前须从华为统一扫码服务平台申请开发者账号并创建应用,开通广告服务。

华为统一扫码服务申请地址华为统一扫码服务

模块接口

openDefaultScan

Default View Mode提供相机扫码和导入图片扫码两个功能

openDefaultScan({params},callback(ret, err))

params

type:

  • 类型:整型
  • 描述:(可选项)支持识别二维码格式(默认:0)
```js
//        ALL_SCAN_TYPE(0)
//        QRCODE_SCAN_TYPE(256),
//        AZTEC_SCAN_TYPE(4096),
//        DATAMATRIX_SCAN_TYPE(16),
//        PDF417_SCAN_TYPE(2048),
//        CODE39_SCAN_TYPE(2),
//        CODE93_SCAN_TYPE(4),
//        CODE128_SCAN_TYPE(1),
//        EAN13_SCAN_TYPE(32),
//        EAN8_SCAN_TYPE(64),
//        ITF14_SCAN_TYPE(128),
//        UPCCODE_A_SCAN_TYPE(512),
//        UPCCODE_E_SCAN_TYPE(1024),
//        CODABAR_SCAN_TYPE(8);
```

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    status: true, //初始化状态
    code: 0, //状态码
    type: 'onResult', //事件类型 
    msg: "onResult",//描述
    result:{ //其他结果数据

    }
}

示例代码

var hmsScan = api.require('hmsScan');
hmsScan.openDefaultScan({
    type:0,
},function(ret, err) {

    if (ret.status) {

    }
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

buildBitmap

生成一维码或二维码

buildBitmap({params}, callback(ret, err))

params

type:

  • 类型:字符串
  • 描述:(选填)类型 (默认:0)
```js
//        QRCODE_SCAN_TYPE(0),
//        AZTEC_SCAN_TYPE(1),
//        DATAMATRIX_SCAN_TYPE(2),
//        PDF417_SCAN_TYPE(3),
//        CODE39_SCAN_TYPE(4),
//        CODE93_SCAN_TYPE(5),
//        CODE128_SCAN_TYPE(6),
//        EAN13_SCAN_TYPE(7),
//        EAN8_SCAN_TYPE(8),
//        ITF14_SCAN_TYPE(9),
//        UPCCODE_A_SCAN_TYPE(10),
//        UPCCODE_E_SCAN_TYPE(11),
//        CODABAR_SCAN_TYPE(12);
```

content:

  • 类型:字符串
  • 描述:(必填)二维码内容

options:

  • 类型:对象
  • 描述:(选填)生成二维码参数

      {
          width:w, //二维码宽度
          height:h, //二维码高度
          margin:1, //边距
          backgroundColor:{ //背景颜色
              alpha:255,
              red:255,
              green:255,
              blue:255,
          },
          color:{ //二维码颜色
              alpha:0,
              red:0,
              green:0,
              blue:0,
          },
      }
    

    callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    status: true, //初始化状态
    code: 0, //状态码
    type: 'onResult', //事件类型 
    msg: "描述",//描述
    result:{ //其他结果数据

    }
}

示例代码

var hmsScan = api.require('hmsScan');
hmsScan.buildBitmap({
    type:0,
    content:"123456",
    options:{
        width:w,
        height:h,
    }
}, function(ret, err) {
    if (ret.status) {

    }
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

decodeWithBitmap

解析一维码或二维码

decodeWithBitmap({params}, callback(ret, err))

params

filePath

  • 类型:字符串
  • 描述:(可选项)文件路径

callback(ret, err)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    status: true, //初始化状态
    code: 0, //状态码
    type: 'onResult', //事件类型
    msg: "描述",//描述
    result:{ //其他结果数据

    }
}

示例代码

var hmsScan = api.require('hmsScan');
hmsScan.decodeWithBitmap({
    filePath : "",
}, function(ret, err){
    if (ret.status) {

    }
});

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本