# 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 配置: ```json { "pages": [ "pages/index/index", "pages/emblemscanner/emblemscanner", "pages/logs/logs" ], "workers": "pages/emblemscanner/worker" } ``` ### 4. 域名配置 参考[微信小程序网络配置指南](https://developers.weixin.qq.com/miniprogram/dev/framework/ability/network.html),在小程序后台配置合法域名: - `themblem.com` ### 5. 扫码调用 #### 跳转到扫码页面: ```javascript navigateToScanner() { wx.navigateTo({ url: '/pages/emblemscanner/emblemscanner?return_page=/pages/scan_result/scan_result' }) } ``` #### 处理扫码结果: ```javascript 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, }) } ```