更新记录

1.0.0(2024-11-12)

  1. uni-app-x iOS扫码

平台兼容性

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

扫码功能实现示例

此示例展示了如何在 uni-app-x 中使用 CY-Scan 插件来实现扫码功能。你可以控制扫码开始和停止,同时显示扫描结果。

模板代码


<template>
  <view>
    <!-- 控制扫码开始和停止 -->
    <button @click="startScanning">重新扫描</button>
    <button @click="stopScanning">停止扫描</button>

    <!-- 使用扫描组件 -->
    <CY-Scan ref="camera" class="cy-scan" @notifyScanSuccess="notifyScanSuccess"></CY-Scan>

    <!-- 显示扫码结果 -->
    <view v-if="scanResult" class="scan-result">
      <text>扫码结果: {{ scanResult }}</text>
    </view>
  </view>
</template>

<script>
export default {
  data() {
    return {
      scanResult: "" // 扫描结果
    };
  },
  onLoad() {
    // 初始化时的操作(如果需要)
  },
  methods: {
    // 扫描成功后的回调
    notifyScanSuccess(event) {
      this.scanResult = event.detail.detail; // 处理扫码结果
    },

    // 开始扫描
    startScanning() {
      const camera = this.$refs.camera;
      if (camera) {
        camera.startScanning(); // 调用 cy-scan 组件的开始扫描方法
      }
    },

    // 停止扫描
    stopScanning() {
      const camera = this.$refs.camera;
      if (camera) {
        camera.stopScanning(); // 调用 cy-scan 组件的停止扫描方法
      }
    }
  }
};
</script>

<style>
/* 按钮样式 */
.native-button {
  height: 100px;
  width: 200px;
  background-color: antiquewhite;
  margin: 25px auto;
}

/* 扫描区域样式 */
.cy-scan {
  height: 400px;
  width: 400px;
  background-color: black;
  margin: 25px auto;
}

/* 扫描结果区域样式 */
.scan-result {
  margin-top: 20px;
  padding: 10px;
  background-color: #f8f8f8;
  border-radius: 5px;
  text-align: center;
  font-size: 16px;
  color: #333;
}
</style>

隐私、权限声明

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

相机

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

插件不采集任何数据

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

暂无用户评论。

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