更新记录

1.0.0 下载此版本

1.0.0


平台兼容性

云端兼容性

阿里云 腾讯云 支付宝云

uni-app(4.06)

Vue2 Vue3 Chrome Safari app-vue app-nvue Android iOS 鸿蒙
微信小程序 支付宝小程序 抖音小程序 百度小程序 快手小程序 京东小程序 鸿蒙元服务 QQ小程序 飞书小程序 快应用-华为 快应用-联盟

uni-app x(4.06)

Chrome Safari Android iOS 鸿蒙 微信小程序
- - - - - -

Poster-Code 二维码组件

poster-code 是一个用于生成和显示二维码的组件,支持自定义大小、颜色、添加Logo等功能。该组件基于Canvas绘制,支持多平台使用。

特性

  • 生成高质量二维码
  • 支持自定义二维码大小
  • 支持自定义前景色和背景色
  • 支持在二维码中间添加Logo图片
  • 支持长按保存二维码
  • 支持预览二维码
  • 兼容多平台(H5、App、小程序等)

安装

在项目中导入 poster-ui 模块即可使用。

属性说明

属性名 类型 默认值 说明
cid String 随机字符串 Canvas的ID,同一页面的多个二维码需要设置不同的cid
size Number 200 二维码大小,单位默认为px
unit String 'px' 二维码尺寸单位
val String '' 二维码内容,如URL等
background String '#ffffff' 二维码背景色
foreground String '#000000' 二维码前景色
pdground String '#000000' 二维码定位点颜色
icon String '' 二维码中间的Logo图片路径
iconSize Number 40 Logo图片大小
lv Number 3 二维码容错级别(1-4)
onval Boolean true 是否监听val值变化自动重新生成二维码
loadMake Boolean true 是否在组件加载后自动生成二维码
allowPreview Boolean false 是否允许点击预览二维码
useRootHeightAndWidth Boolean false 是否使用根节点宽高作为二维码大小

事件

事件名 说明 返回参数
result 二维码生成完成事件 二维码图片路径
longpressCallback 长按二维码事件 二维码图片路径
preview 预览二维码事件 {url: 二维码图片路径}

使用示例

基础用法

<template>
  <view>
    <poster-code :cid="'qrcode1'" :size="150" val="https://example.com"></poster-code>
  </view>
</template>

<script>
export default {
  // ...
}
</script>

带Logo的二维码

<template>
  <view>
    <poster-code 
      :cid="'qrcode2'" 
      :size="150" 
      val="https://example.com" 
      :icon="logo">
    </poster-code>
  </view>
</template>

<script setup>
import logo from '@/static/logo.png';
</script>

自定义颜色

<template>
  <view>
    <poster-code 
      :cid="'qrcode3'" 
      :size="150" 
      val="https://example.com" 
      background="#f0f0f0" 
      foreground="#007AFF">
    </poster-code>
  </view>
</template>

完整示例

<template>
  <view class="container">
    <view class="qrcode-item">
      <text class="title">基础二维码</text>
      <poster-code 
        :cid="'qrcode1'" 
        :size="150" 
        val="https://example.com">
      </poster-code>
    </view>

    <view class="qrcode-item">
      <text class="title">带Logo的二维码</text>
      <poster-code 
        :cid="'qrcode2'" 
        :size="150" 
        val="https://example.com" 
        :icon="logo">
      </poster-code>
    </view>

    <view class="qrcode-item">
      <text class="title">自定义颜色的二维码</text>
      <poster-code 
        :cid="'qrcode3'" 
        :size="150" 
        val="https://example.com" 
        background="#f0f0f0" 
        foreground="#007AFF">
      </poster-code>
    </view>
  </view>
</template>

<script setup>
import logo from '@/static/logo.png';
</script>

<style lang="scss" scoped>
.container {
  padding: 20px;
}
.qrcode-item {
  margin-bottom: 30px;
}
.title {
  font-size: 16px;
  margin-bottom: 10px;
  display: block;
}
</style>

注意事项

  1. 在同一页面使用多个二维码组件时,需要为每个组件设置不同的cid
  2. Logo图片建议使用透明背景的PNG图片
  3. 当设置了Logo时,建议提高二维码的容错级别(lv属性)
  4. 在小程序环境中使用时,需要注意小程序对Canvas的限制

方法

组件内部提供了一些方法,可以通过ref调用:

  • _makeCode(): 手动生成二维码
  • _clearCode(): 清除二维码
  • _saveCode(): 保存二维码到相册

隐私、权限声明

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

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

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

许可协议

MIT协议

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