微信扫二维码,跳转到小程序

常见的跳转小程序的方式

  1. scheme,NFC封签感应跳转、网页网址重定向跳转
  2. 小程序码,扫码跳转
  3. 加密URL LINK,点击跳转
  4. 微信扫二维码,跳转

本文主要涉及第四点,微信扫二维码跳转。

需求一开始要求:NFC封签感应,打开小程序。用scheme实现。

需求增加,希望扫码打开小程序,也用scheme实现。开发了一个H5页面,在页面中,通过接口获取对应的scheme,网址重定向到scheme,大部分APP会自动唤起微信小程序。

需求变更,希望上面两种方式扫出来的结果不同。scheme生成时,参数是固定的,用scheme实现的跳转小程序,无法区分来源,所以换了扫码打开小程序的实现方式。

中间遇到问题,方式1H5网页跳转的链接 二维码,在需求变更时,已印刷在物料上。

还好方式4是可行的。

解决思路

首先,二维码的本质就是一个链接地址

其次登录微信小程序微信公众平台,设置扫普通链接二维码打开小程序

最后业务代码处理二维码链接的传参,目标页面接收二维码链接地址的参数。

具体过程

  1. 登录微信公众平台,找到 开发管理> 开发设置> 扫普通链接二维码打开小程序

下拉找到这个配置入口:

按照要求设置即可,不懂的都有提示引导。

二维码地址:你自定义的链接地址,但是,域名要通过检验文件,按要求把校验文件上传到服务器即可。

小程序路径:你的链接跳转的目标页面路径。

测试范围:根据自身需要选择即可,发布线上那就必须是线上版本。

js 复制代码
onLoad: function(e) {
	// e={"q":"https://url/index?orderId=1"};
    const qrUrl = decodeURIComponent(e.q) // 获取到二维码原始链接内容
    const params = getWxMiniProgramUrlParam(qrUrl);//此处就是我们要获取的参数 json
    let orderId = params.orderId;
}

//解析链接地址中的参数方法
getWxMiniProgramUrlParam (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;
}
相关推荐
JasonMa1534 小时前
从零搭建一个微信小程序活动管理平台(一):架构设计与技术选型
javascript·微信小程序·node.js
鲁Q同志1 天前
微信小程序【uni-file-picker文件预览】
微信小程序·小程序
2601_963869951 天前
【计算机毕业设计】基于微信小程序的拼车服务系统设计与实现
微信小程序·小程序·课程设计
虚惊一场2 天前
撤销为什么只需要 pop:用事件重放实现离线台球计分
微信小程序·uni-app
虚惊一场2 天前
从一个小程序到一座工具箱:uni-app 分包与 Flask 微服务实践
微信小程序·uni-app
beichenxingzhui2 天前
茶饮品牌“新品口感盲测问答”:适合微信小程序与互动页的工具 Top 3
微信小程序·小程序
海纳百川·纳海川4 天前
数字化升级,让废品回收更简单高效
大数据·微信小程序·小程序
VX_bysjlw9854 天前
基于微信小程序的宠物用品商城系统-后端74346-计算机毕设原创(免费领源码+带部署教程)
java·redis·微信小程序·eclipse·mybatis·idea·微信开发者工具
一只昀4 天前
基于微信小程序的咖啡店点餐小程序
微信小程序·小程序
admin and root6 天前
「移动安全」安卓APP 反编译&frida脱壳技巧分享
android·开发语言·python·web安全·微信小程序·移动安全·攻防演练