背景:游戏分享需要显示下载二维码,扫描可以跳转指定网页链接
- 前往项目根目录,安装npm包,qrcode-generator,命令行执行 npm install qrcode-generator
- 安装完成后,可以在node_modules看到qrcode-generator包
- 项目引用qrcode-generator包,import qr from 'qrcode-generator';
- 注意,在vs code中,需要在tsconfig.json配置文件中添加"allowSyntheticDefaultImports": true,它的作用是允许在导入模块时使用默认导入语法,即使模块没有默认导出。
- 生成并显示二维码,其中qrCodeUrl是你的网页地址
- 详细代码如下:
generateQRCode() { const url = this.qrCodeUrl; const qrCode = qr(0, 'M'); qrCode.addData(url); qrCode.make(); const dataURL = qrCode.createDataURL(4, 4); const img = new Image(); img.src = dataURL; assetManager.loadRemote(dataURL, { ext: '.png' }, (err, imageAsset: ImageAsset) => { if (err) { console.error(err); return; } const spriteFrame = new SpriteFrame(); const texture = new Texture2D(); texture.image = imageAsset; spriteFrame.texture = texture; this.qrSprite.spriteFrame = spriteFrame; }); }
- 案例工程已上传,运行效果如下