支付寶小程序開發中,若是須要根據字符串生成二維碼,那麼能夠直接使用 qrcode 插件,你無需引用js,直接使用開發者工具的npm功能就能夠了。npm
一. 安裝插件:小程序
1.開發者工具左側工具欄點擊如圖所示的圖標(npm):數組
2.NPM包管理界面,輸入框中輸入 qrcode 並按回車鍵,等待插件安裝完成:svg
二. 引用並使用插件:svn
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" />
如此,編譯項目,二維碼生成:ui
三. 須要生成多個券碼的狀況:this
若是是根據數組中的某個券碼生成二維碼,那麼能夠封裝這個方法:url
//根據字符串生成二維碼 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 })