首页 > 原创文章 > 软件开发 > 查看文章

微信小程序开发生成普通二维码打开小程序的方法

所属分类:软件开发 来源: 丁老师原创 更新时间:2025-04-19 11:13 浏览: 2203 IP属地: 深圳
微信小程序开发
点击阅读全文

在开发微信小程序的过程中,生成的是带有logo的小程序二维码,并且这个二维码不是通用的二维码,而是只能用微信打开的专属二维码,如图:

03f07675a4cf84b04c6f32449e155e01.jpg

遇到这样一个需求,生成的二维码要方形的通用二维码,并且不能带有小程序的logo。这种该怎么实现呢?
经过查询,微信小程序开发文档有一个功能叫做“扫普通链接二维码打开小程序”,可以生成普通的二维码打开小程序,如图:

image.png

看了下介绍,刚好符合客户需求,既可以生成普通的通用二维码,又不带logo,又能打开小程序,完美!研究了下,具体的实现方法如下:

一、微信小程序配置:

1.登录微信小程序,左侧菜单“开发与服务”下,选择“开发管理”,然后在右侧下拉找到"扫普通链接二维码打开小程序",如图:
image.png

2.右侧点击添加,进入扫普通链接二维码打开小程序的规则添加页面,如图:
image.png


3.协议类型、选择大小写使用默认设置。前缀占用规则,选择“占用”。
4.二维码规则填你的域名打开小程序的链接规则,举例,比如你要设置https://www.aaa.com/detail.html作为规则,那么在微信中访问这个网址时,不会真的打开网址,而是自动打开了你的小程序。如果要带有参数的规则,那么就是https://www.aaa.com/a.html?id=123。这里只需要设置一个规则样例即可,不需要设置正则规则,微信会自动识别和匹配。
5.小程序功能页面,填写扫二维码要打开的小程序路径,比如我们填写pages/goods/detail。
6.测试范围根据实际情况选择,测试链接填写。比如你的id=2有数据,那么就填https://www.aaa.com/detail.html?id=2

最终填写完毕效果:
image.png
二、小程序前端设置
小程序goods/detai页面中,需要对onload方法和method方法进行如下设置:

onLoad(data) {
	var _url=decodeURIComponent(data['q']);
	var _query=this.getParam(_url);

	if(_query['id'] && _query['id']>0){
		//获取到id的方法
	}
},
methods:{
	getParam(url) {
		let theRequest = {};
		if (url.indexOf("#") != -1) {
			const str = url.split("#")[1];
			const strs = str.split("&");
			for (let i = 0; i < strs.length; i++) {
				theRequest[strs[i].split("=")[0]] = decodeURI(strs[i].split("=")[1]);
			}
		} else if (url.indexOf("?") != -1) {
			const str = url.split("?")[1];
			const strs = str.split("&");
			for (let i = 0; i < strs.length; i++) {
				theRequest[strs[i].split("=")[0]] = decodeURI(strs[i].split("=")[1]);
			}
		}
		return theRequest;
	},
}


三、生成二维码

现在已经有了规则,可以通过服务端或客户端来根据这个规则生成二维码。然后扫描这个二维码,就可以打开小程序啦!

如果没有看懂这篇文章,或者是在使用过程中有任何疑问,欢迎联系丁老师进行沟通咨询哦~

相关文章

linux下gz文件看的到删不了的解决办法

linux下生成的gz文件,有些看的到,删除不了,一删除就提示Nosuchfileordirectory,怎么办呢?不说废话,直接上解决办法:查看这个文件的inode号#ls-lhi.根据inode号删除#find.-inum26701...

php区分字符里面中文和英文的方法

有个客户提出了一个需求,他的稿件经常包含有中英文混合内容,现在需要把中文和英文分离开来,即把中文单独取出来,把英文取出来,该怎么实现呢?下边,丁老师用php的方法,来帮你实现。$str="Hello 丁老师软件开发 How a...

微信小程序提示“手机号快速验证组件”资源包用...

微信小程序自2023年8月起,开始对《手机号快速验证组件》进行收费,每个小程序有1000次的免费额度,超过额度就要收费。说白了就是以后在使用微信小程序获取用户手机(用户主动授权)的时候,需要按次数收费了。那么,在当前的经济状况下,如何做...

java如何在请求中加入参数?

在Java中,提交请求时加入参数有两种方法:一、把参数直接写在url中,如:如请求url是https://www.aaa.com,参数是name=kevin,gender=2,那么可以直接把请求url写成https://www.aaa....

推荐文章

安装fastadmin提示“你所浏览的页面暂...

安装fastadmin,打开后提示"你所浏览的页面暂时无法访问",无法安装,是因为程序的runtime没有写权限,需要对runtime目录,添加写权限。解决方法:windows:右键目录,写入按钮打勾。如果不行,在“安全...

性价比最高的内网穿透方案

内网穿透,是指外网可以访问内网,没有固定IP的服务器,所以需要中间件来进行通讯,目前稳定成熟的中间件软件,要么价格太贵,要么就是只能使用标准服务,不能完全的定制化。那么,到底有没有一个性价比最优的方案呢?回答是肯定的,答案就是使用云服务器+...

uniapp开发小程序内的图片扫码

在使用uniapp开发的小程序内,打开图片,长按没有弹出菜单,无法扫码,此时只需在图片上加入show-menu-by-longpress即可完整代码:<image :src="picture" mode="...

百度编辑器ueditor自动添加p标签换行的...

在实际工作中发现,有个编辑器每次保存或者修改后,都会自动在内容顶部和底部增加几行,烦人的很,一直找不到解决办法。后来发现原来是自己代码的问题。解决办法:内容在textarea中,不要换行不要写成:<textarea {content}...