code.vue 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. <template>
  2. <view class="">
  3. <canvas id="qrcode" canvas-id="qrcode" :style="[{'width': width +'px','height': width +'px'}]"></canvas>
  4. </view>
  5. </template>
  6. <script>
  7. import UQRCode from 'uqrcodejs';
  8. export default {
  9. components: {},
  10. props: {
  11. width: {
  12. type: Number,
  13. default: 150
  14. },
  15. // backgroundImg: {
  16. // type: Number,
  17. // default: '@/static/img/logo/logo.png'
  18. // }
  19. },
  20. data() {
  21. return {};
  22. },
  23. onLoad(data) {},
  24. mounted() {},
  25. onReady() {},
  26. methods: {
  27. getCode(dataValue) {
  28. // 获取uQRCode实例
  29. var qr = new UQRCode();
  30. // 设置二维码内容
  31. qr.data = dataValue;
  32. // 设置二维码大小,必须与canvas设置的宽高一致
  33. qr.size = this.width;
  34. // 调用制作二维码方法
  35. qr.make();
  36. // 获取canvas上下文
  37. var canvasContext = uni.createCanvasContext('qrcode', this); // 如果是组件,this必须传入
  38. // 设置uQRCode实例的canvas上下文
  39. qr.canvasContext = canvasContext;
  40. // 调用绘制方法将二维码图案绘制到canvas上
  41. qr.drawCanvas();
  42. }
  43. }
  44. }
  45. </script>
  46. <style lang="scss" scoped>
  47. </style>