查看: 59|回复: 0

[小程序] 支付宝小程序开发——根据字符串生成二维码

[复制链接]

1

主题

1

回帖

0

积分

积极分子

金币
1
阅读权限
220
精华
0
威望
0
贡献
0
在线时间
0 小时
注册时间
2012-5-6
发表于 2019-10-25 12:33:00 | 显示全部楼层 |阅读模式

支付宝小程序开发中,如果需要根据字符串生成二维码,那么可以直接使用 qrcode 插件,你无需引用js,直接使用开发者工具的npm功能就可以了。

一. 安装插件:

1.开发者工具左侧工具栏点击如图所示的图标(npm):

2.NPM包管理界面,输入框中输入 qrcode 并按回车键,等待插件安装完成:

 

二. 引用并使用插件:

 1 //引用插件
 2 const QRCode = require('qrcode');
 3 Page({
 4   data: {
 5     imgSrc: ''
 6   },
 7   onReady() {
 8     //根据字符串生成svn格式的二维码
 9     let self = this;
10     QRCode.toString('13549687961', { type: 'svg' }, function(err, url) {
11       let str = 'data:image/svg+xml;base64,' + Buffer(url).toString('base64');
12       self.setData({
13         imgSrc: str
14       })
15     });
16   }
17     ......

页面引用:

<image src="{{imgSrc}}"  style="width:100%;" mode="aspectFit" />

如此,编译项目,二维码生成:

 

 三. 需要生成多个券码的情况:

如果是根据数组中的某个券码生成二维码,那么可以封装这个方法:

//根据字符串生成二维码
  getQrcode(str) {
    var qrcode=''
    QRCode.toString(str, { type: 'svg', errorCorrectionLevel: 'H', maskPattern: 4, version: 2 }, function(err, url) {
      qrcode= 'data:image/svg+xml;base64,' + Buffer(url).toString('base64');
    });
    return qrcode
  },
  //将券码合成二维码并保存到卡券详情数据中
  arr.forEach(item=>{
    console.log(item)
    item["qrcode"]=self.getQrcode(item.coupon_number)
  })
  self.setData({
    cardData: arr
  })    

 

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

相关侵权、举报、投诉及建议等,请发 E-mail:qiongdian@foxmail.com

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部