更新记录

1.0.0(2024-09-17)

新增插件,新增17种码的扫码功能,支持闪光灯,扫码震动,扫码beep音,相册选取照片,扫码相机界面缩放功能的配置开关,支持多码扫码,支持扫码码文案及风格的配置,支持闪光灯文案的配置(国际化app可以通过文案配置实现)。支持扫码界面的配置(全屏和非全屏扫码,线条和星点闪烁)。


平台兼容性

uni-app

Vue2 Vue3
?
app-vue app-nvue app-android app-ios app-harmony
? ? ? ? ?
H5-Safari Android Browser 微信浏览器(Android) QQ浏览器(Android) Chrome IE Edge Firefox PC-Safari
? ? ? ? ? ? ? ? ?
微信小程序 支付宝小程序 百度小程序 字节小程序 QQ小程序 钉钉小程序 快手小程序 飞书小程序 京东小程序
? ? ? ? ? ? ? ? ?
快应用-华为 快应用-联盟
? ?

uni-app x

app-android app-ios
? ?
H5-Safari Android Browser 微信浏览器(Android) QQ浏览器(Android) Chrome IE Edge Firefox PC-Safari
? ? ? ? ? ? ? ? ?

更新日志

版本:1.0.0

时间:9/5/2024 更新内容: 新增插件,新增17种码的扫码功能,支持闪光灯,扫码震动,扫码beep音,相册选取照片,扫码相机界面缩放功能的配置开关,支持多码扫码,支持扫码码文案及风格的配置,支持闪光灯文案的配置(国际化app可以通过文案配置实现)。支持扫码界面的配置(全屏和非全屏扫码,线条和星点闪烁)。

平台兼容性

目前支持Android,CPU类型支持x86,arm64-v8a,armeabi-v7a android目前适配到API 34

插件功能

  • 同时扫多个二维码和条形码

  • 配置相册

  • 闪光灯

  • 相机可以调整焦距放大缩小

  • 支持自定义扫描线颜色、提示文案等

  • 支持扫描完成提示音、震动

  • 功能持续完善中...

插件使用及相关API说明

在线使用插件通用流程

  1. 购买此插件,选择该插件绑定的项目(使用者项目)。

  2. 购买页面导入到相应项目。

  3. 根据插件作者的提供的文档开发代码,在代码中引用插件,调用插件功能。

  4. 打包自定义基座,得到自定义基座,然后运行时选择自定义基座,进行log输出测试。

  5. 开发完毕后正式云打包。

此插件的使用

引入插件

import {ScanOptions,scanBarCode } from "@/uni_modules/xt-barcode-scan"

使用插件

let options = {
        params: `{
            'showVibrate': true,
            'showBeep': true,
            'showPhotoAlbum': true,
            'showLightController': true,
            'supportZoom': true,
            'scanColor': '#ff0000',
            'hintText': '扫二维码/条形码',
            'hintTextColor': '#ffffff',
            'hintTextSize': '14',
            'useScanStarPoint':false,
            'lightOnHintText':'请打开手电筒1',
            'lightOffHintText':'请关闭手电筒1',
            'starPointScanLineColumn':30,
            'starPointScanLineHeight':300,
            'fullScreenScan':true
        }`,
        complete: (res : string) => {
            console.log(res);
            try {
                  const jsonObject = JSON.parse(res) as UTSJSONObject;
                  console.log("statusCode:" + jsonObject["statusCode"]);
                  //扫码成功
                  if (jsonObject["statusCode"] == "success") {
                      console.log("scanResults:" + jsonObject["scanResults"]);
                      const codeString = jsonObject["scanResults"] as string;
                      //取得扫码结果数组,照片扫码有多个码,相机扫码结果只有一个,这里是取数组第一个码
                      const codeArray = JSON.parseArray(codeString!!);
                      console.log("scanResults code1:" + codeArray);
                      const targetBarcodeStr = codeArray![0] as string;
                      console.log("scanResults code2:" + targetBarcodeStr);
                      //将第一个码取出来转成JSON object
                      const targetBarcode = JSON.parse(targetBarcodeStr) as UTSJSONObject;
                      //取码内容,也可以取码类型
                      console.log("scanResults target code:" + targetBarcode["codeValue"]);
                      console.log("scanResults target code type:" + targetBarcode["codeType"]);
                  }
            } catch (e) {
                  console.error('转换JSON时发生错误:', e);
            }
        }
    } as ScanOptions;
    scanBarCode(options);
参数说明
参数名 参数类型 参数默认值 参数说明
showVibrate Boolean False 是否需要扫码完成时震动
showBeep Boolean True 是否需要扫码完成时发出Beep音
showPhotoAlbum Boolean True 是否支持相册选取扫码照片
showLightController Boolean True 是否显示手电筒按钮
supportZoom Boolean False 是否支持相机可以调整焦距放大缩小
scanColor String "#FF0000" 设置扫描线颜色
hintText String "请扫二维码/条形码" 设置扫码文案
hintTextColor String "#FF0000" 设置提示文案颜色
hintTextSize Integer 14 调整提示文案字体大小
useScanStarPoint Boolean True 扫描界面,True:星点闪烁 False:扫描线
starPointScanLineColumn Integer 30 星点列数
starPointScanLineHeight Integer 300 星点高度
fullScreenScan Boolean False 是否全屏扫描
lightOnHintText String "打开闪光灯" 手电筒开状态文案
lightOffHintText String "关闭闪光灯" 手电筒关状态文案
回调结果说明
回调结果是一个JSON格式数据,包含两个属性
属性名 属性类型 说明
statusCode String 成功为"success",其他为失败
scanResults String 只有成功时才有值
scanResults说明(JSON数组格式数据,包含两个属性)(相册照片扫码有多个码时会返回多个码数据,相机扫码数组只有一个内容)
属性名 属性类型 说明
codeType Integer 码类型
codeValue String 码内容
codeType说明
    FORMAT_UNKNOWN = -1;                             未知
    FORMAT_ALL_FORMATS = 0;                          所有类型
    FORMAT_CODE_128 = 1;                               Code 128
    FORMAT_CODE_39 = 2;                                Code 39
    FORMAT_CODE_93 = 4;                                Code 93
    FORMAT_CODABAR = 8;                              Codabar
    FORMAT_DATA_MATRIX = 16;                       Data Matrix
    FORMAT_EAN_13 = 32;                                EAN-13
    FORMAT_EAN_8 = 64;                                 EAN-8
    FORMAT_ITF = 128;                                    ITF
    FORMAT_QR_CODE = 256;                           QR Code(二维码)
    FORMAT_UPC_A = 512;                               UPC-A
    FORMAT_UPC_E = 1024;                              UPC-E
    FORMAT_PDF417 = 2048;                            PDF417
    FORMAT_AZTEC = 4096;                             Aztec

隐私、权限声明

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

<uses-permission android:name="android.permission.CAMERA" /> <uses-permission android:name="android.permission.VIBRATE" /> <uses-permission android:name="android.permission.FLASHLIGHT" /> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.READ_MEDIA_IMAGES" /> <uses-permission android:name="android.permission.READ_MEDIA_VIDEO" />

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

没有数据发服务器

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

没有广告

暂无用户评论。

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问