更新记录

1.0.0(2026-02-05)

v1.0.0


平台兼容性

uni-app(4.51)

Vue2 Vue3 Chrome Safari app-vue app-nvue Android iOS 鸿蒙
× × ×
微信小程序 支付宝小程序 抖音小程序 百度小程序 快手小程序 京东小程序 鸿蒙元服务 QQ小程序 飞书小程序 小红书小程序 快应用-华为 快应用-联盟
× × × × × × × × × - × ×

uni-app x(4.73)

Chrome Safari Android iOS 鸿蒙 微信小程序
× × × ×

ainuo-hwscankit

基于华为 Scan Kit 的商业级扫码和二维码生成 UTS 插件,安卓与ios ui 已高度统一。

平台支持

Android iOS

安装

将插件导入到 uni_modules 目录即可使用。

快速开始

import { scan, createQRCode, createBarcode } from "@/uni_modules/ainuo-hwscankit"

API 文档

scan(options)

启动扫码功能。

参数

属性 类型 必填 默认值 说明
scanType string 'ALL_TYPES' 要识别的码类型
mode string 'single' 扫码模式
success function - 扫码成功回调
fail function - 扫码失败回调

scanType 可选值

说明
ALL_TYPES 识别所有类型的码
QR_TYPES 仅识别二维码(QR_CODE、AZTEC、DATA_MATRIX、PDF417)
BARCODE_TYPES 仅识别条形码(CODE_128、CODE_39、EAN_13 等)

mode 可选值

说明
single 单次扫码,扫到一个码后自动关闭
continuous 连续扫码,可连续扫描多个码,可用onScanned监听新识别的二维码
multi 多码扫描,同时识别画面中的多个码

示例

// 单次扫码
scan({
  mode: 'single',
  success: (result) => {
    console.log('扫码结果:', result.originalValue)
    console.log('码类型:', result.scanType)
  },
  fail: (error) => {
    console.error('扫码失败:', error.errorMessage)
  }
})

// 连续扫码
scan({
  mode: 'continuous',
  success: (result) => {
      // 扫码结束,获取所有结果
      console.log('所有结果:', result.results)
      console.log('总数:', result.totalCount)
  }
})

onScanned((result)=>{
  console.log(result)
})

// 多码扫描
scan({
  mode: 'multi',
  success: (result) => {
      console.log('确认的结果:', result)
  }
})

createQRCode(options)

生成二维码(异步)。

参数

属性 类型 必填 默认值 说明
content string - 二维码内容
size number - 二维码尺寸(宽高相同,单位:像素)
options object - 生成选项
success function - 成功回调
fail function - 失败回调

options 参数

属性 类型 必填 默认值 说明
codeColor string '#000000' 二维码颜色(十六进制)
backgroundColor string '#FFFFFF' 背景颜色(十六进制)
margin number 1 边距(像素)
logoBase64 string - Logo 图片的 base64 字符串
logoScale number 0.2 Logo 占二维码的比例(0.0 - 0.3)

成功回调返回值

属性 类型 说明
base64 string 生成的二维码 base64 字符串
width number 二维码宽度
height number 二维码高度

示例

// 基础用法
createQRCode({
  content: 'https://example.com',
  size: 300,
  success: (result) => {
    // 显示二维码
    imageElement.src = 'data:image/png;base64,' + result.base64
  }
})

// 自定义样式
createQRCode({
  content: 'https://example.com',
  size: 300,
  options: {
    codeColor: '#1890ff',
    backgroundColor: '#f0f0f0',
    margin: 2
  },
  success: (result) => {
    console.log('尺寸:', result.width, 'x', result.height)
  }
})

// 带 Logo
createQRCode({
  content: 'https://example.com',
  size: 300,
  options: {
    logoBase64: 'iVBORw0KGgoAAAANSUhEUgAAAAo...', // Logo 的 base64
    logoScale: 0.2
  },
  success: (result) => {
    imageElement.src = 'data:image/png;base64,' + result.base64
  }
})

createBarcode(options)

生成条形码(异步)。

参数

属性 类型 必填 默认值 说明
content string - 条形码内容
width number - 条形码宽度(像素)
height number - 条形码高度(像素)
barcodeType string 'CODE_128' 条形码类型
options object - 生成选项(同 createQRCode)
success function - 成功回调
fail function - 失败回调

barcodeType 可选值

说明
CODE_128 Code 128 条形码
CODE_39 Code 39 条形码
CODE_93 Code 93 条形码
CODABAR Codabar 条形码
EAN_13 EAN-13 条形码(13位数字)
EAN_8 EAN-8 条形码(8位数字)
ITF_14 ITF-14 条形码
UPC_A UPC-A 条形码(12位数字)
UPC_E UPC-E 条形码

示例

// CODE_128 条形码
createBarcode({
  content: '1234567890',
  width: 400,
  height: 150,
  barcodeType: 'CODE_128',
  success: (result) => {
    imageElement.src = 'data:image/png;base64,' + result.base64
  }
})

// EAN-13 条形码
createBarcode({
  content: '6901234567890',
  width: 400,
  height: 150,
  barcodeType: 'EAN_13',
  success: (result) => {
    console.log('生成成功')
  },
  fail: (error) => {
    console.error('生成失败:', error.errorMessage)
  }
})

支持的码类型

类型 说明 分类
QR_CODE 二维码 二维码
AZTEC Aztec 码 二维码
DATA_MATRIX Data Matrix 码 二维码
PDF417 PDF417 码 二维码
CODE_128 Code 128 条形码 条形码
CODE_39 Code 39 条形码 条形码
CODE_93 Code 93 条形码 条形码
CODABAR Codabar 条形码 条形码
EAN_13 EAN-13 条形码 条形码
EAN_8 EAN-8 条形码 条形码
ITF_14 ITF-14 条形码 条形码
UPC_A UPC-A 条形码 条形码
UPC_E UPC-E 条形码 条形码

注意事项

  1. 权限:插件会自动请求相机权限,无需手动处理
  2. Logo 尺寸logoScale 建议不超过 0.3,过大会影响二维码识别
  3. 条形码内容:不同类型的条形码对内容有特定要求(如 EAN-13 需要13位数字)
  4. Base64 格式logoBase64 支持带或不带 data:image/xxx;base64, 前缀

更新日志

查看 changelog.md

隐私、权限声明

1. 本插件需要申请的系统权限列表:

相机和相册

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

暂无用户评论。