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

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

所属分类:软件开发 来源: 丁老师原创 更新时间:2025-04-19 11:13 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;
	},
}


三、生成二维码

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

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

相关文章

做网站用H5好还是用VUE好?

今天有同学问,要做一个网站,技术方面是用html5呢还是用vue呢?丁老师给你解答。其实,用html5和用vue,都可以做网站,但是就架构适用性来说,html5和vue有不同的特点。html5做网站的优点:1.快速开发,上手简单,不需要...

微信小程序从开发到实现微信支付的全过程

微信小程序部分一、完善小程序基本信息1.用管理员账号登录微信小程序(https://mp.weixin.qq.com/);2.左侧菜单选择首页;3.完善小程序的基本信息,包括小程序名称、小程序类目、微信认证、微信备案等。二、小程序开发配...

微信支付提示201 订单号重复的解决办法

问题:在做微信支付对接时,四端(PC+H5+小程序+APP)调用微信支付,出现了201,订单号重复的提示,提交的订单号、金额等信息并没有变,经过仔细检查后,发现是提交的trade_type不同造成的,根据四端在提交时,分别对trade_...

PHP提示Array and string ...

在使用PHP开发的程序时,突然遇到错误,查看错误日志发现提示:Arrayandstringoffsetaccesssyntaxwithcurlybracesisnolongersupported,这是怎么回事呢?经过丁老师分析,这句话的...

推荐文章

CSS常用字体及网页引用方式

1.字体列表及引用链接鸿蒙字体-B站400 字重 CSS://s1.hdslb.com/bfs/static/jinkela/long/font/regular.css500 字重 CSS://s1.hdslb.com/bfs/static...

宝塔面板phpmyadmin数据库表导航树禁...

宝塔面板的phpmyadmin,默认数据库表导航树是每30个一页,非常的不直观,可以通过修改宝塔phpmyadmin配置文件的方式来禁止他分页。修改方法:1.进入服务器/www/server/phpmyadmin/phpmyadmin_随机...

微信公众号如何集成对接网站网页

微信公众号可以把官网的网页集成进去吗?想通过微信公众号实现打开公司网站的页面,具体要怎么实现呢?其实这个功能,可以通过微信菜单的方式来实现...

js复制对象改变原值的解决办法

在进行vue开发中,经常会遇到复制对象,赋值新对象后,原对象值被改变的问题,举个例子:let old={"a":1,"b":2}let new=old;new['c']=3;这个时候你...

QQ咨询 微信咨询