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

看了下介绍,刚好符合客户需求,既可以生成普通的通用二维码,又不带logo,又能打开小程序,完美!研究了下,具体的实现方法如下:
一、微信小程序配置:
1.登录微信小程序,左侧菜单“开发与服务”下,选择“开发管理”,然后在右侧下拉找到"扫普通链接二维码打开小程序",如图:
2.右侧点击添加,进入扫普通链接二维码打开小程序的规则添加页面,如图:
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
最终填写完毕效果:
二、小程序前端设置
小程序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文件,有些看的到,删除不了,一删除就提示Nosuchfileordirectory,怎么办呢?不说废话,直接上解决办法:查看这个文件的inode号#ls-lhi.根据inode号删除#find.-inum26701...
有个客户提出了一个需求,他的稿件经常包含有中英文混合内容,现在需要把中文和英文分离开来,即把中文单独取出来,把英文取出来,该怎么实现呢?下边,丁老师用php的方法,来帮你实现。$str="Hello 丁老师软件开发 How a...
微信小程序自2023年8月起,开始对《手机号快速验证组件》进行收费,每个小程序有1000次的免费额度,超过额度就要收费。说白了就是以后在使用微信小程序获取用户手机(用户主动授权)的时候,需要按次数收费了。那么,在当前的经济状况下,如何做...
在Java中,提交请求时加入参数有两种方法:一、把参数直接写在url中,如:如请求url是https://www.aaa.com,参数是name=kevin,gender=2,那么可以直接把请求url写成https://www.aaa....
安装fastadmin,打开后提示"你所浏览的页面暂时无法访问",无法安装,是因为程序的runtime没有写权限,需要对runtime目录,添加写权限。解决方法:windows:右键目录,写入按钮打勾。如果不行,在“安全...
内网穿透,是指外网可以访问内网,没有固定IP的服务器,所以需要中间件来进行通讯,目前稳定成熟的中间件软件,要么价格太贵,要么就是只能使用标准服务,不能完全的定制化。那么,到底有没有一个性价比最优的方案呢?回答是肯定的,答案就是使用云服务器+...
在使用uniapp开发的小程序内,打开图片,长按没有弹出菜单,无法扫码,此时只需在图片上加入show-menu-by-longpress即可完整代码:<image :src="picture" mode="...
在实际工作中发现,有个编辑器每次保存或者修改后,都会自动在内容顶部和底部增加几行,烦人的很,一直找不到解决办法。后来发现原来是自己代码的问题。解决办法:内容在textarea中,不要换行不要写成:<textarea {content}...