UNPKG

sard-uniapp

Version:

sard-uniapp 是一套基于 Uniapp + Vue3 框架开发的兼容多端的 UI 组件库

110 lines (70 loc) 4.19 kB
--- nav: 组件 title: Qrcode subtitle: 二维码 group: 数据展示 version: 1.4+ --- ## 介绍 将一段文字或链接编码成图形,以便光学扫描仪或手机摄像头快速读取。 ## 引入 ```ts import Qrcode from 'sard-uniapp/components/qrcode/qrcode.vue' ``` ## 代码演示 ### 基础使用 设置 `text` 属性即可渲染一个二维码图片。其内部通过 `canvas` 来绘制二维码,但最终的呈现是以图片的形式,因此可以覆盖任何东西在二维码上面。 @code('${DEMO_PATH}/qrcode/demo/Basic.vue') ### 呈现的大小 使用 `size` 属性设置二维码呈现的大小,可以设置为任意尺寸单位。 @code('${DEMO_PATH}/qrcode/demo/DisplaySize.vue') ### 画板的大小 画板大小决定了二维码图片的分辨率。 @code('${DEMO_PATH}/qrcode/demo/CanvasSize.vue') ### 自定义颜色 通过设置 `color` 自定义二维码暗模块颜色, 通过设置 `bg-color` 自定义二维码亮模块颜色,即背景颜色。 @code('${DEMO_PATH}/qrcode/demo/Color.vue') ### 默认插槽 使用默认插槽, 可以把任意内容放置在二维码上面。 @code('${DEMO_PATH}/qrcode/demo/Icon.vue') ### 添加图标 <sup>1.19.2+</sup> 使用 `icon` 属性, 可以将一张图片渲染到画布中间,与二维码合并为同一张图片。 @code('${DEMO_PATH}/qrcode/demo/IconProps.vue') ### 安静区域模块数 可以简单把设置 `quiet-zone-modules` 当成设置二维码内边距。 @code('${DEMO_PATH}/qrcode/demo/QuietZoneModules.vue') ### 错误纠错级别 错误纠错级别越高,二维码抗磨损、抗脏能力越强,同时二维码就越大,可容纳的字符容量越小。 `ecl` 属性用于设置错误纠错级别。 @code('${DEMO_PATH}/qrcode/demo/ECL.vue') 下面是不同纠错级别的纠错能力表。 | 错误纠错级别 | 错误纠错能力 | | ------------ | -------------- | | L | 恢复 7%的数据 | | M | 恢复 15%的数据 | | Q | 恢复 25%的数据 | | H | 恢复 30%的数据 | ## API ### QrcodeProps | 属性 | 描述 | 类型 | 默认值 | | ----------------------------------------- | ---------------------------- | ------------------------ | ------ | | root-class | 组件根元素类名 | string | - | | root-style | 组件根元素样式 | StyleValue | - | | text | 要编码的字符串数据 | string | - | | ecl | 错误纠错级别 | 'L' \| 'M' \| 'Q' \| 'H' | 'M' | | size | 二维码呈现的大小 | string | 320rpx | | canvas-size | 画板的大小 | number | 400 | | color | 二维码颜色 | string | #000 | | bg-color | 二维码背景颜色 | string | #fff | | quiet-zone-modules | 安静区域模块数 | number | 2 | | show-menu-by-longpress <sup>1.19.2+</sup> | 长按图片显示菜单(微信小程序) | boolean | false | | icon <sup>1.19.2+</sup> | 二维码中图片的地址 | string | - | ### QrcodeSlots | 插槽 | 描述 | 属性 | | ------- | -------------- | ---- | | default | 自定义额外内容 | - | ### QrcodeEmits | 事件 | 描述 | 类型 | | -------------------------- | ------------------------------------------------ | ------------------------------ | | success <sup>1.25.1+</sup> | 二维码图片绘制成功后触发,可用于获取临时文件路径 | (tempFilePath: string) => void |