后浪云小程序教程:微信小程序 条码/二维码识别API

img.scanQRCode

本接口应在服务器端调用,详细说明参见 服务端API。

本接口支持 云调用。需开发者工具版本 >= 1.02.1904090(最新 稳定版下载)

wx-server-sdk >= 0.4.0

本接口提供基于小程序的条码/二维码识别的API。

调用方式:

  • HTTPS 调用
  • 云调用

HTTPS 调用

请求地址

POST https://api.weixin.qq.com/cv/img/qrcode?img_url=ENCODE_URL&access_token=ACCESS_TOCKEN

请求参数

属性类型默认值必填说明
access_tokenstring接口调用凭证
img_urlstring要检测的图片 url,传这个则不用传 img 参数。
imgFormDataform-data 中媒体文件标识,有filename、filelength、content-type等信息,传这个则不用传 img_url。

返回值

Object

返回的 JSON 数据包

属性类型说明
errcodestring错误码
errmsgstring错误信息

使用说明

图片说明 文件大小限制:小于2M

二维码说明 支持条码、二维码、DataMatrix和PDF417的识别。 二维码、DataMatrix会返回位置坐标,条码和PDF417暂不返回位置坐标。

请求数据示例

示例1:

curl https://api.weixin.qq.com/cv/img/qrcode?img_url=ENCODE_URL&access_token=ACCESS_TOCKEN

示例2:

curl -F 'img=@test.jpg' 'https://api.weixin.qq.com/cv/img/qrcode?access_token=ACCESS_TOCKEN'

返回数据示例

{
    "errcode": 0,
    "errmsg": "ok",
    "code_results": [
        {
            "type_name": "QR_CODE",
            "data": "http://www.qq.com",
            "pos": {
                "left_top": {
                    "x": 585,
                    "y": 378
                },
                "right_top": {
                    "x": 828,
                    "y": 378
                },
                "right_bottom": {
                    "x": 828,
                    "y": 618
                },
                "left_bottom": {
                    "x": 585,
                    "y": 618
                }
            }
        },
        {
            "type_name": "QR_CODE",
            "data": "https://mp.weixin.qq.com",
            "pos": {
                "left_top": {
                    "x": 185,
                    "y": 142
                },
                "right_top": {
                    "x": 396,
                    "y": 142
                },
                "right_bottom": {
                    "x": 396,
                    "y": 353
                },
                "left_bottom": {
                    "x": 185,
                    "y": 353
                }
            }
        },
        {
            "type_name": "EAN_13",
            "data": "5906789678957"
        },
        {
            "type_name": "CODE_128",
            "data": "50090500019191"
        }
    ],
    "img_size": {
        "w": 1000,
        "h": 900
    }
}

云调用

云调用是小程序·云开发提供的在云函数中调用微信开放接口的能力,需要在云函数中通过 wx-server-sdk 使用。

接口方法

openapi.img.scanQRCode

需在 config.json 中配置 img.scanQRCode API 的权限, 详情

请求参数

属性类型默认值必填说明
imgUrlstring要检测的图片 url,传这个则不用传 img 参数。
imgFormDataform-data 中媒体文件标识,有filename、filelength、content-type等信息,传这个则不用传 img_url。

img 的结构

属性类型默认值必填说明
contentTypestring数据类型,传入 MIME Type
valueBuffer文件 Buffer

返回值

Object

返回的 JSON 数据包

属性类型说明
errCodestring错误码
errMsgstring错误信息

异常

Object

抛出的异常

属性类型说明
errCodestring错误码
errMsgstring错误信息

errCode 的合法值

说明最低版本

使用说明

图片说明 文件大小限制:小于2M

二维码说明 支持条码、二维码、DataMatrix和PDF417的识别。 二维码、DataMatrix会返回位置坐标,条码和PDF417暂不返回位置坐标。

返回数据示例

{
    "errcode": 0,
    "errmsg": "ok",
    "code_results": [
        {
            "type_name": "QR_CODE",
            "data": "http://www.qq.com",
            "pos": {
                "left_top": {
                    "x": 585,
                    "y": 378
                },
                "right_top": {
                    "x": 828,
                    "y": 378
                },
                "right_bottom": {
                    "x": 828,
                    "y": 618
                },
                "left_bottom": {
                    "x": 585,
                    "y": 618
                }
            }
        },
        {
            "type_name": "QR_CODE",
            "data": "https://mp.weixin.qq.com",
            "pos": {
                "left_top": {
                    "x": 185,
                    "y": 142
                },
                "right_top": {
                    "x": 396,
                    "y": 142
                },
                "right_bottom": {
                    "x": 396,
                    "y": 353
                },
                "left_bottom": {
                    "x": 185,
                    "y": 353
                }
            }
        },
        {
            "type_name": "EAN_13",
            "data": "5906789678957"
        },
        {
            "type_name": "CODE_128",
            "data": "50090500019191"
        }
    ],
    "img_size": {
        "w": 1000,
        "h": 900
    }
}

THE END