更新记录

2.0.1(2025-04-08) 下载此版本

修复重复切换同个相机时的触发问题

2.0.0(2025-04-08) 下载此版本

重构

1.0.4(2024-04-10) 下载此版本

允许关闭扫码结果选择界面

查看更多

平台兼容性

Vue2 Vue3
×
App 快应用 微信小程序 支付宝小程序 百度小程序 字节小程序 QQ小程序
× × × × × × ×
钉钉小程序 快手小程序 飞书小程序 京东小程序 鸿蒙元服务
× × × × ×
H5-Safari Android Browser 微信浏览器(Android) QQ浏览器(Android) Chrome IE Edge Firefox PC-Safari

H5扫码

简介

基于 vue-qrcode-reader 库封装的 H5 扫码组件。

功能特性:

  • 支持手电筒
  • 支持摄像头切换
  • 支持一次扫多个码,自主选择识别哪一个

安全上下文要求:

  • 生产环境必须使用 HTTPS 协议(可以使用 mkcert 工具制作本地信任的开发证书)
  • 本地开发可通过 http://localhosthttp://127.0.0.1 调用

示例

安装依赖:

# 5.x版本
npm install vue-qrcode-reader

使用:

组件可选参数:

  • scanType:扫码类型。数组类型,默认值 ["qr_code"]
  • strokeStyle:描边样式。字符串类型,默认值 #007bff
<template>
  <button @click="scanCode">扫一扫</button>
  <!-- #ifdef H5 -->
  <cshaptx4869-scancode
    ref="h5ScanCodeRef"
    @success="handleSuccess"
    @fail="handleFail"
  ></cshaptx4869-scancode>
  <!-- #endif -->
</template>

<script setup>
import { ref } from "vue";

const h5ScanCodeRef = ref();
function scanCode() {
  // #ifdef H5
  h5ScanCodeRef.value.open();
  // #endif
  // #ifndef H5
  uni.scanCode({
    success: (res) => {
      uni.showToast({
        icon: "none",
        title: res.result,
      });
    },
    fail: (err) => {
      console.log("err", err);
    },
  });
  // #endif
}
function handleSuccess(res) {
  uni.showToast({
    icon: "none",
    title: res.result,
  });
}
function handleFail(err) {
  uni.showModal({
    title: err.errName,
    content: err.errMsg,
  });
}
</script>

隐私、权限声明

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

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

插件不采集任何数据

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

许可协议

MIT协议

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