npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

qrcode.vue-next

v0.0.10

Published

[qrcode.react](https://github.com/zpao/qrcode.react)的vue版本实现,最开始是[ant-design-vue](https://www.antdv.com)在QRCode组件中完成迁移,此仓库将其剥离出来,不是重复造轮子,而是满足在有使用二维码场景但组件库选型不是ant-design-vue的情况下,能够使用到[qrcode.react](https://github.com/zpao/qrcode.react)这一业界优秀实现,感谢qrcode.rea

Downloads

9

Readme

qrcode.vue-next

qrcode.react的vue版本实现,最开始是ant-design-vue在QRCode组件中完成迁移,此仓库将其剥离出来,不是重复造轮子,而是满足在有使用二维码场景但组件库选型不是ant-design-vue的情况下,能够使用到qrcode.react这一业界优秀实现,感谢qrcode.react与ant-design-vue为开源做出的贡献

在线预览

qrcode.vue-next

安装

npm install qrcode.vue-next

使用

qrcode.vue-next导出三个组件,支持以SVG或Canvas形式呈现。通常建议使用SVG,因为它更灵活,但Canvas可能更可取。

Canvas

import QRCode fom 'qrcode.vue-next';

<template>
  <QRCode value="https://vuejs.org/" />
</template>

SVG

import QRCode fom 'qrcode.vue-next';

<template>
  <QRCode value="https://vuejs.org/" type="svg" />
</template>

自定义

如果不满足封装的QRCode提供的样式与功能,可以直接导出QRCodeCanvasQRCodeSVG来使用,并传递所需props,然后就可以自由创造了。

import QRCode, { QRCodeCanvas, QRCodeSVG } from 'qrcode.vue-next';

const qrcodeProps = {
  value: 'https://vuejs.org',
  size: 134,
  level: 'M',
  bgColor: 'transparent',
  fgColor: 'rgba(0, 0, 0, 0.88)',
  imageSettings: {
    src: 'https://vuejs.org/images/logo.png',
    x: undefined,
    y: undefined,
    height: 40,
    width: 40,
    excavate: true
  }
}

<template>
  <QRCodeCanvas v-bind="qrcodeProps" />
  <br />
  <QRCodeSVG v-bind="qrcodeProps" />
</template>

封装后的API,基于antd

| 参数 | 类型 | 默认值 | 说明 | | ---- | ---- | ------------- | ---- | | bgColor | string | 'transparent' | 二维码背景颜色 | | bordered | boolean | true | 是否显示边框 | | color | string | '#000000' | 二维码颜色 | | errorLevel | 'L' | 'M' | 'Q' | 'H' | 'L' | 二维码纠错等级 | | icon | string | - | 二维码中的图片地址 | | iconSize | number | 40 | 二维码中图片的大小 | | iconSettings | object | {x: undefined, y: undefined, excavate: true} | 二维码中图片的设置 | | size | number | 160 | 二维码渲染大小 | | status | 'active' | 'expired' | 'loading' | 'scanned' | 'active' | 二维码状态 | | type | 'canvas' | 'svg' | 'canvas' | 渲染类型 | | value | string | - | 扫描后的地址 |

事件

| 事件名 | 说明 | 回调参数 | | ---- | ---- | ---- | | change | 二维码绘制完成时触发 | () => void | | refresh | 点击刷新按钮时触发 | () => void |

原本的API

| prop | type | default value | note | | --------------- | ---------------------------- | ------------- | ---- | | value | string | | | | size | number | 128 | | | bgColor | string | "#FFFFFF" | CSS color | | fgColor | string | "#000000" | CSS color | | level | string ('L' 'M' 'Q' 'H') | 'L' | | | minVersion | number (1-40) | 1 | QR Code versions are 1-40. The optimal (lowest) version is determined for the value provided, using this minimum as the lower bound. | | includeMargin | boolean | false | DEPRECATED. This is being removed in favor of marginSize | | marginSize | number | 0 | Specifies the number of modules to use for margin around the symbol. The QR Code specification requires 4, however you may use other values. Values will be turned to integers with Math.floor. Overrides includeMargin default value when specified | | imageSettings | object | | See below |

imageSettings

| field | type | default value | note | | ---------- | --------- | ----------------- | ---- | | src | string | | | | x | number | none | Will attempt to center if not specified | | y | number | none | Will attempt to center if not specified | | height | number | 10% of size | | | width | number | 10% of size | | | excavate | boolean | false | | | opacity | number | 1 | |

自定义样式

qrcode.vue-next将通过任何附加的道具传递到底层DOM节点(<svg><canvas>)。这允许使用内联“style”或自定义“class”来自定义渲染。一个常见的用途是支持响应式布局。

注意: 为了在高密度显示器上渲染<canvas>中的二维码,我们缩放画布元素以包含适当数量的像素,然后使用内联样式进行缩小。我们将合并任何其他样式,自定义的heightwidth将覆盖我们原本的值。这允许缩放到百分比_but_如果缩放超过size,您将遇到模糊的图像。建议在渲染到<canvas>时传递适当的大小.

编码模式

qrcode.vue-next仅支持在单个段中对文本进行编码。所使用的编码库进行最少的检测,以确定所编码的文本是否可以遵循数字或字母数字模式的优化路径,从而允许对更多数据进行编码。否则,它将按照字节模式进行编码。此模式包括支持多字节Unicode字符(如汉字),但不支持优化的汉字编码模式。.