如果您需要扫描普通二维码进行分享,需要先生成二维码。
文档:
1. 绘制二维码
我这里使用的资源是..esm.js文件,直接去资源下载就可以了,
下载后文件位置为--.zip\--\dist
准备工作已完成,现在开始绘制二维码
具体实现
1.导入.esm.js文件
import drawQrcode from '@/common/weapp.qrcode.esm.js';
2. 使用 Draw QR 码,
3. 使用 1 中生成的对进行绘制
drawQrcode({ width: 200, height: 200, canvasId: 'myQrcode', text: this.text, // v1.0.0+版本支持在二维码上绘制图片 image: { imageResource: '/static/imgs/5c1ca95856f99.png', dx: 70, dy: 70, dWidth: 60, dHeight: 60 } })
这里有宽度和高度的设置,选择对应的,
text是二维码的内容,由于这里是变量,所以我用的是this.text,如果不是变量的话,可以直接写值text:""
就是在二维码上绘制图片的操作,包括图片的宽度、高度、位置、(图片来源)等设置。
以下是完整代码
至此,二维码的绘制就完成了。
二维码制作完成了,接下来就是通过这个二维码打开小程序了,我的二维码和打开的小程序是同一个小程序。
2. 扫描常规二维码打开小程序
我们先来看一下官方文档:扫描微信小程序二维码,打开小程序文档
当然,有些内容我没听懂。
上面说你需要一个域名,这个域名需要是一个在线域名。如果你不知道这个域名,你可能需要先创建一个域名,或者如果公司有在线域名,你可以直接使用。最好使用与你的项目相关的域名。
这里的验证文件需要放在你的域名所在服务器上的路径下。
官网的分析到此结束,剩下的主要还是看文档吧。
添加验证文件:
当时遇到的两个问题,主要是后端同事帮我解决的。。。谢谢
然后现在您需要配置二维码。
配置需要在微信公众平台的开发--->开发管理--->开发设置中扫描二维码打开小程序,点击启用。
然后按照下图进行配置:
在二维码规则中放置你的可用域名,设置启动页,选择试用版或者开发版,最后按照官网文档添加你的测试链接,添加完成后点击发布。
根据官网说明,你发布的线上环境必须配置为先发布代码,再发布二维码。
如果这里设置了试用版,需要将版本发布为试用版,用于测试,二维码内容必须是测试链接内容,才能打开试用版(经过测试有效)。。。否则其他内容会打开在线版。
然后告诉我这里的错误。
验证文件的时候可能会报错,错误可能是因为你这里写的域名和你文件存放的位置不一致,需要存放到对应的位置才可以保存成功(越界了)。
3.扫码打开并获取参数
扫描二维码后,需要获取二维码传递的参数
因为我用的是uni-app,这里是vue,页面加载的时候
onLoad(options) { console.log("options",options); let id = decodeURIComponent(options.q); console.log("id",id); this.userId = id.split("=")[1]; },
我的链接跟这个类似,所以就直接取值了。
题外话
这里不使用.js的原因是:
可以查看菜鸟教程的资料,这里说uni-app可以操作数据,而不需要操作dom,所以-.js比较适合本项目的需求。