主要用到两个库:javascript
html2canvashtml
1.先生成二维码覆盖在广告图上面java
2.html转canvas canvas转成base64图片canvas
3.广告图src替换为base64微信
注意:微信内不支持保存canvas为图片,因此多了第三步app
async generateQrcode() { this.showQr = true; let canvas1 = qrcanvas({ data: decodeURIComponent( "http://xiaoshuiw.com/jxjy_app/user/register?code=188" ), size: 80 }); setTimeout(() => { this.$refs.ttt.appendChild(canvas1); html2canvas(this.$refs.qrmain,{backgroundColor: null}).then(canvas => { this.$refs.ttt.innerHTML="" this.$refs.img.src=canvas.toDataURL("image/png") }); }, 100); }