更新记录

1.2.0(2024-01-24) 下载此版本

判断了扫码模块是否存在,不存在则进行紧急安装

1.1.0(2023-11-09) 下载此版本

可配置是否启用远距离扫码自动缩放

1.0.0(2023-11-06) 下载此版本

接入谷歌扫码器(ML Kit Barcode Scanning API) 能识别大多数标准格式 线性格式:Codabar、Code 39、Code 93、Code 128、EAN-8、EAN-13、ITF、UPC-A、UPC-E 2D 格式:Aztec、Data Matrix、PDF417、二维码 自动格式检测

查看更多

平台兼容性

Vue2 Vue3
×
App 快应用 微信小程序 支付宝小程序 百度小程序 字节小程序 QQ小程序
HBuilderX 3.96,Android:4.4,iOS:不确定,HarmonyNext:不确定 × × × × × ×
钉钉小程序 快手小程序 飞书小程序 京东小程序
× × × ×
H5-Safari Android Browser 微信浏览器(Android) QQ浏览器(Android) Chrome IE Edge Firefox PC-Safari
× × × × × × × × ×

uts-lf-scan-code安卓超丝滑的扫码插件

Android 平台

  1. 下载插件并导入你的项目
  2. 在你的页面import引入这个插件
  3. 制作自定义基座
  4. 运行自定义基座

无需注册账号 无需添加应用 无需配置密钥 引入插件打包即用

接入的谷歌扫码器(ML Kit Barcode Scanning API) 能自动识别大多数标准格式 线性格式:Codabar、Code 39、Code 93、Code 128、EAN-8、EAN-13、ITF、UPC-A、UPC-E 2D 格式:Aztec、Data Matrix、PDF417、二维码 目前仅支持安卓 安卓版本需 >= 5.0

----

参考文档:https://developers.google.com/ml-kit/vision/barcode-scanning/code-scanner

----

更新日志

1.2.0(2024-01-24)

判断了扫码模块是否存在,不存在则进行紧急安装

1.1.0(2023-11-08)

可配置是否启用远距离扫码自动缩放

1.0.0(2023-11-06)

基于ML Kit Barcode Scanning API)实现安卓极速丝滑扫码 自动格式检测 能识别大多数标准格式 线性格式:Codabar、Code 39、Code 93、Code 128、EAN-8、EAN-13、ITF、UPC-A、UPC-E 2D 格式:Aztec、Data Matrix、PDF417、二维码


lf-scan-code目录放在uni_modules下

index.uvue示例:

<template>
    <view class="content">
        <button class="scan-btn" @tap="scanCode">扫一扫</button>
        <view class="code-panel">
            <view class="code-label">
                <text>扫码结果:</text>
            </view>
            <view>
                <text class="code-value">{{codeResStr}}</text>
            </view>
        </view>
    </view>
</template>

<script lang="uts">
    import { initScanCode } from "../../uni_modules/lf-scan-code"
    export default {
        data() {
            return {
                codeResStr: ""
            }
        },
        onLoad() {

        },
        methods: {
            scanCode() {
                /**
                 * @param {boolean} zoom - 参数 zoom 不传默认为false 是否启用远距离扫码自动缩放
                 * @returns {Promise} - 返回包含扫描结果的 Promise 对象
                 * @example initScanCode(true).then...
                 */
                initScanCode().then((res : any) => {
                    let resData = res as UTSJSONObject
                    console.log(resData);
                    if (resData['status'] == "success") {
                        // 扫码成功结果
                        this.codeResStr = resData['value'] as string;
                    }
                    if (resData['status'] == "cancel") {
                        uni.showToast({
                            title: "用户取消了操作",
                            icon: "none"
                        })
                    }
                    if (resData['status'] == "error") {
                        console.log("报错了:", res['error']);
                    }
                })
            }
        }
    }
</script>

<style>
    .content {
        margin-top: 100rpx;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .scan-btn {
        background-color: pink;
        width: 300rpx;
        margin-top: 0;
        margin-right: auto;
        margin-bottom: 0;
        margin-left: auto;
    }

    .code-panel {
        margin-top: 200rpx;
    }

    .code-label {
        text-align: center;
    }

    .code-value {
        margin-top: 20rpx;
        color: mediumvioletred;
        font-size: 36rpx;
        text-align: center;
    }
</style>

iOS 平台

暂不支持

相关开发文档

隐私、权限声明

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

<!-- 获取相机权限 --> <uses-permission android:name="android.permission.CAMERA" android:description="@string/permission_camera_description"/> <!-- 获取闪光灯权限 --> <uses-permission android:name="android.permission.FLASHLIGHT" android:description="@string/permission_flashlight_description"/> <!-- 相机特性 --> <uses-feature android:name="android.hardware.camera" android:required="true"/> <!-- 相机自动对焦特性 --> <uses-feature android:name="android.hardware.camera.autofocus" android:required="true"/> <!-- 震动权限 --> <uses-permission android:name="android.permission.VIBRATE" android:description="@string/permission_vibrate_description"/> <!-- 保持设备唤醒权限 --> <uses-permission android:name="android.permission.WAKE_LOCK" android:description="@string/permission_wake_lock_description"/> <!-- 读取外部存储权限 --> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" android:description="@string/permission_read_external_storage_description"/> <!-- 写入外部存储权限 --> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" android:description="@string/permission_write_external_storage_description"/> <!-- Google ML Kit Vision 依赖 --> <meta-data android:name="com.google.mlkit.vision.DEPENDENCIES" android:value="barcode_ui"/>

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

插件不采集任何数据

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

许可协议

MIT协议

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