EmblemScanner 微信小程序扫码验证模块

Release notes

  • Version 1.0.1: initial release
  • Version 1.1.0: sub package support

概述

EmblemScanner 是一个专为微信小程序设计的二维码扫描验证模块,集成了先进的 AI 图像识别技术和二维码检测算法,能够快速准确地识别和验证二维码。

集成方式和接口

调用参数

参数 说明 示例值
return_page 扫描完成后跳转的页面路径 /pages/scan_result/scan_result

扫描结果

扫描成功后,模块会跳转到指定的 return_page携带以下参数

  • ok=1 - 扫描成功
  • qr_code - 二维码内容
  • serial_code - 验证序列号(如有)

扫描失败时:

  • ok=0 - 扫描失败

依赖要求

  • 相机权限
  • 网络访问权限(连接 themblem.com API等

使用步骤

1. 项目准备

创建 JS 版小程序项目。

2. 文件部署

解压 emblemscanner 代码到小程序项目目录。

pages/emblemscanner/
├── assets/              # 静态资源
├── emblemscanner.json   # 页面配置
├── emblemscanner.wxml   # 页面结构
├── emblemscanner.wxss   # 样式文件
├── emblemscanner.js     # 主页面逻辑
├── libemblemscanner.js  # 核心库
├── qrprocessor.js       # 二维码处理器
├── qrtool.wx.js         # 二维码工具
├── qrtool.wx.wasm.br    # WebAssembly 二进制
├── upload.js            # 上传模块
└── worker/              # Worker 线程

3. 项目配置

app.json 中添加页面和 worker 配置:

{
  "pages": [
    "pages/index/index",
    "pages/emblemscanner/emblemscanner",
    "pages/logs/logs"
  ],
  "workers": "pages/emblemscanner/worker"
}

4. 域名配置

参考微信小程序网络配置指南,在小程序后台配置合法域名:

  • themblem.com

5. 扫码调用

跳转到扫码页面:

navigateToScanner() {
  wx.navigateTo({
    url: '/pages/emblemscanner/emblemscanner?return_page=/pages/scan_result/scan_result'
  })
}

处理扫码结果:

onLoad(options) {
  var verify_ok = options['ok'];        // ok == 1表示验证通过
  var qr_code = options['qr_code'];     // 二维码内容
  var serial_code = options['serial_code']; // 序列码

  this.setData({
    verify_ok,
    qr_code,
    serial_code,
  })
}