更新记录

1.0.0(2026-04-15)

[1.0.0] - 2026-04-14

新增

  • 基于 Google ML Kit 的离线扫码功能
  • 支持一维码和二维码识别
  • 支持扫描框区域限制(ROI)
  • 支持自动对焦和缩放控制
  • 支持闪光灯控制
  • 支持从相册选择图片识别
  • 支持震动和声音反馈
  • 支持多码同时识别
  • 支持反色码识别
  • 基于 CameraX 的相机管理
  • 完整的权限管理

平台兼容性

uni-app(4.41)

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

uni-app x(4.41)

Chrome Safari Android Android插件版本 iOS 鸿蒙 微信小程序
- - 5.0 1.0.0 × × -

Changbi ScanCode 扫码插件

基于 Google ML Kit 的高性能离线扫码 UTS 插件,支持一维码和二维码的快速识别。

特性

  • ⚡ 基于 Google ML Kit,识别速度极快
  • 📦 完全离线,无需网络连接
  • 🎯 支持扫描框区域限制(ROI)
  • 🔍 支持自动对焦和缩放控制
  • 💡 支持闪光灯控制
  • 📸 支持从相册选择图片识别
  • 🔊 支持震动和声音反馈
  • 📊 支持多码同时识别
  • 🎨 支持反色码识别(黑底白字)

支持的码制

一维码

  • EAN-8
  • EAN-13
  • UPC-A
  • UPC-E
  • Code 39
  • Code 93
  • Code 128
  • Codabar
  • ITF

二维码

  • QR Code
  • Data Matrix
  • PDF417
  • Aztec

安装

将插件复制到项目的 uni_modules 目录下。

快速开始

<script setup>
import { ref } from 'vue'
import * as scanCode from '@/uni_modules/changbi-scancode'

const result = ref('')

async function startScan() {
  try {
    const res = await scanCode.scan({
      onSuccess: (data) => {
        result.value = data.text
        console.log('扫码成功:', data)
      },
      onError: (error) => {
        console.error('扫码失败:', error)
      }
    })
  } catch (error) {
    console.error('启动扫码失败:', error)
  }
}
</script>

<template>
  <view>
    <button @click="startScan">开始扫码</button>
    <text>结果: {{ result }}</text>
  </view>
</template>

API 文档

详见 API.md

更新日志

详见 changelog.md

许可证

MIT License

隐私、权限声明

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

android.permission.CAMERA

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

插件不采集任何数据

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