2025-10-29 21:27:29 +00:00

104 lines
2.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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,
})
}
```