ckgl/uni_modules/cshaptx4869-scancode/readme.md
2024-12-21 18:03:43 +08:00

1.3 KiB

H5扫码

简介

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

特性:

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

示例

安装依赖

npm install vue-qrcode-reader

使用

<template>
  <button @click="scanCode">扫一扫</button>

  <!-- #ifdef H5 -->
  <cshaptx4869-scancode
    v-if="h5ScanCode"
    @success="handleSuccess"
    @fail="handleFail"
    @close="handleClose"
  ></cshaptx4869-scancode>
  <!-- #endif -->
</template>

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

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