更新记录
1.0.0(2026-06-21)
- 发布插件
- 支持二维码和条形码扫描(13种格式)
- 支持OCR文本识别,自动提取手机号和身份证号
- 支持闪光灯控制
- 支持相机缩放(放大/缩小)
- 支持自定义扫描线、提示文案、边框颜色等UI元素
- 支持扫描完成提示音与震动反馈控制
- 支持Android 5.0及以上版本
平台兼容性
uni-app x(4.0)
| Chrome | Safari | Android | Android插件版本 | iOS | 鸿蒙 | 微信小程序 |
|---|---|---|---|---|---|---|
| × | × | 5.0 | 1.0.0 | × | × | × |
安卓原生扫码OCR识别UTS插件 (scan-pro)
基于 uni.scanCode 调起系统摄像头扫码,内置智能文本解析引擎,自动提取手机号和身份证号。搭配可自定义扫描UI组件,适用于 uni-app x 项目,标准基座直接可用。
平台兼容性
uni-app x (5.07+)
| Chrome | Safari | Android | 插件版本 | iOS | 鸿蒙 |
|---|---|---|---|---|---|
| - | - | 5.0+ | 1.0.0 | x | x |
需在 uni-app x 项目中使用
.uvue文件。
功能特性
- 二维码和条形码扫描(QR码、EAN、Code128、Data Matrix、PDF417 等)
- 智能文本解析:自动提取手机号(1开头的11位数字)和身份证号(18位)
- 调用系统摄像头扫码,标准基座直接可用,无需自定义基座
- 自定义扫描框比例、扫描线颜色、边框样式、遮罩透明度、提示文案
- 扫描线 CSS 动画、闪光灯开关、提示音/自动停止控制
- 相机权限检查
快速开始
1. 放置扫描组件
<template>
<view class="page">
<scan-pro
id="scannerPreview"
:width="scannerWidth"
:height="scannerHeight"
:scanLineColor="'#00FF00'"
:hintText="'请将条码置于框内扫描'"
:showScanLine="true"
:showOverlay="true"
></scan-pro>
<view @tap="doScan"><text>开始扫码</text></view>
</view>
</template>
2. 写脚本调用扫码
import { processScanResult, HasCameraPermission } from "@/uni_modules/scan-pro";
function doScan() {
uni.scanCode({
scanType: ["barCode", "qrCode", "datamatrix", "pdf417"],
success: (res) => {
const json = processScanResult(res.result, res.scanType)
const rawValue = json.get("rawValue") as string
const format = json.get("format") as string
const phones = json.get("phoneNumbers") as string[]
const idCards = json.get("idCardNumbers") as string[]
console.log(rawValue, format, phones, idCards)
}
})
}
API 参考
processScanResult(result, scanType)
解析 uni.scanCode 回调结果,自动提取手机号和身份证号。
参数
| 参数 | 类型 | 说明 |
|---|---|---|
| result | String | 回调中的 res.result |
| scanType | String | 回调中的 res.scanType |
返回 UTSJSONObject,包含以下字段:
| 字段 | 类型 | 说明 |
|---|---|---|
| rawValue | String | 扫描的原始内容 |
| format | String | 条码格式,如 QR_CODE、EAN_13 等 |
| valueType | Number | 值类型 |
| phoneNumbers | String[] | 提取到的手机号列表 |
| idCardNumbers | String[] | 提取到的身份证号列表 |
HasCameraPermission()
检查相机权限是否已授予,返回 boolean。
CreateNativeScannerContext(id)
创建扫描上下文,返回 INativeScannerContext 实例。
组件属性
| 属性 | 类型 | 默认值 | 说明 |
|---|---|---|---|
| width | Number | - | 宽度(像素),必填 |
| height | Number | - | 高度(像素),必填 |
| scanFrameWidthRatio | Number | 0.7 | 扫描框宽度占预览宽度的比例 |
| scanFrameHeightRatio | Number | 0.5 | 扫描框高度占预览高度的比例 |
| frameBorderColor | String | '#FFFFFF' | 扫描框边框颜色 |
| frameBorderWidth | Number | 2 | 扫描框边框宽度(像素) |
| scanLineColor | String | '#00FF00' | 扫描线颜色 |
| scanLineWidth | Number | 2 | 扫描线宽度(像素) |
| scanLineHeight | Number | 2 | 扫描线高度(像素) |
| showScanLine | Boolean | true | 是否显示扫描线动画 |
| hintText | String | '请扫描' | 扫描提示文案 |
| hintColor | String | '#FFFFFF' | 提示文案颜色 |
| hintTextSize | Number | 14 | 提示文案大小(sp) |
| maskOpacity | Number | 0.5 | 遮罩透明度(0.0~1.0) |
| maskColor | String | '#000000' | 遮罩颜色 |
| showOverlay | Boolean | true | 是否显示扫描框遮罩 |
| playSound | Boolean | true | 扫描成功后播放提示音 |
| autoStop | Boolean | false | 扫描成功后自动停止 |
支持的条码格式
| 格式 | 说明 |
|---|---|
| QR_CODE | 二维码 |
| EAN_13 | EAN-13 条形码 |
| EAN_8 | EAN-8 条形码 |
| UPC_A | UPC-A 条形码 |
| UPC_E | UPC-E 条形码 |
| CODE_128 | Code 128 条形码 |
| CODE_39 | Code 39 条形码 |
| CODE_93 | Code 93 条形码 |
| CODABAR | Codabar 条形码 |
| ITF | ITF 条形码 |
| DATA_MATRIX | Data Matrix 码 |
| PDF_417 | PDF 417 条形码 |
| AZTEC | Aztec 码 |
智能文本解析
processScanResult 自动从扫码结果中匹配:
- 手机号:1 开头的 11 位连续数字
- 身份证号:18 位,末位可为 X
// 扫码"张三 *** 110101199001011234"的结果
{
rawValue: "张三 *** 110101199001011234",
format: "TEXT",
valueType: 0,
phoneNumbers: ["***"],
idCardNumbers: ["110101199001011234"]
}
常见问题
扫描没有反应?
- 确认 Android 5.0 以上设备
- 首次使用需在系统设置中授予相机权限
- 调用
uni.scanCode()触发扫码,非自动启动 scanType包含"barCode"确保条形码识别
文字重叠或被截断?
- 结果卡片设置了
max-height和lines限制 - 可通过组件属性自定义样式
如何自定义UI?
- 设置
showOverlay="false"隐藏内置覆盖层 - 参考
pages/custom/custom.uvue完整自绘示例
演示项目
插件含 4 个演示页面:
| 页面 | 说明 |
|---|---|
| pages/index/index | 完整功能演示:扫码、颜色、缩放、开关 |
| pages/simple/simple | 最简入门:3 行代码集成 |
| pages/ocr/ocr | OCR 专项:手机号、身份证提取与复制 |
| pages/custom/custom | 全自定义 UI:自绘扫描框、扫描线弹窗 |
插件信息
- 插件 ID:scan-pro
- 版本:1.0.0
- 平台:uni-app x Android 5.0+
- 依赖:无三方 SDK,标准基座直接可用

收藏人数:
购买普通授权版(
试用
使用 HBuilderX 导入示例项目
赞赏(0)
下载 0
赞赏 0
下载 12293083
赞赏 1922
赞赏
京公网安备:11010802035340号