微信小程序扫描二维码如何跳转小程序内指定页面并传递参数给目标页面?

简介: 微信小程序扫描二维码如何跳转小程序内指定页面并传递参数给目标页面?

项目场景:

实际项目中,用户通过扫描打印小票上的二维码,自己实现开具发票功能,那么这里就需要用户在扫描小票二维码后,跳转小程序内添加开票信息并提交后台开具发票的页面。
解决思路

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

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

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

1、登录微信开放平台,找到 开发管理》开发设置》扫普通链接二维码打开小程序。
4e767f00e27e43b9a89406b30f70e725.png
下拉会找到下图的设置入口:
29e24f7ea7a741a3aec5255c39928e5f.png
f48fd1a9f56148c2bf02b706720586b4.png

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

二维码地址:你自定义的链接地址,但是域名一定得是通过检验文件的。

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

测试范围:根据自身需要选择即可,发布线上那就必须是线上版本。
7b8c538eca2f4086bdc08e4f8dc17a9f.png
这里可能大家会问如何传参呢,我们设置二维码路径只需要有前缀区分就行,下图中可以看到我的测试链接地址,传参就按照get请求正常传参即可。
375dca6b126d4bafbe6a8d4ed05932c7.png
2、目标页面接收参数,这里我的目标页面是 pages/index/add

先获取二维码原始链接地址 qrUrl

此处我是在页面 onLoad 方法内获取:

onLoad: function(e) {
    // e={"q":"https://sp.tbzh.com/index?orderId=1&sfJyToken=false"};
    //Common.isExist() 方法是我自己内部判断非空的
    if(e.q&&Common.isExist(e.q)&&e.q!="undefined"){//扫码进入
        const qrUrl = decodeURIComponent(e.q) // 获取到二维码原始链接内容
        //GetWxMiniProgramUrlParam() 这个方法是解析链接地址中的参数方法
        e = GetWxMiniProgramUrlParam(qrUrl);//此处就是我们要获取的参数 json
        //比如我要得到orderId的值,直接取值即可
        let orderId = e.orderId;
        console.log("订单ID:"+orderId);
    }
}

解析链接地址参数的方法

GetWxMiniProgramUrlParam 方法代码如下:

function 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;
}

3、到此就已经实现了整个微信小程序扫普通链接二维码打开小程序内页面的逻辑了。

写在最后:码字不易,如果对您有些许帮助,还望各位大佬点赞收藏哦,如有疑问或指正,还望评论区留言互动哦~~~

相关文章
|
存储 JSON 小程序
微信小程序入门之新建并认识小程序结构
微信小程序入门之新建并认识小程序结构
281 1
|
缓存 小程序 API
微信小程序页面导航与路由:实现多页面跳转与数据传递
本文深入探讨微信小程序的页面导航与路由机制,介绍多种页面跳转方式如`wx.navigateTo`、`wx.redirectTo`、`wx.switchTab`等,并讲解通过URL、全局变量和事件传递数据的方法。结合案例实现多页面跳转与数据传递,帮助开发者掌握这一重要技能。
|
小程序 前端开发 开发者
小程序的页面如何布局?
【10月更文挑战第16天】小程序的页面如何布局?
1142 1
|
小程序 JavaScript API
微信小程序开发之:保存图片到手机,使用uni-app 开发小程序;还有微信原生保存图片到手机
这篇文章介绍了如何在uni-app和微信小程序中实现将图片保存到用户手机相册的功能。
3855 0
微信小程序开发之:保存图片到手机,使用uni-app 开发小程序;还有微信原生保存图片到手机
|
小程序 JavaScript API
微信小程序开发学习之页面导航(声明式导航和编程式导航)
这篇文章介绍了微信小程序中页面导航的两种方式:声明式导航和编程式导航,包括如何导航到tabBar页面、非tabBar页面、后退导航,以及如何在导航过程中传递参数和获取传递的参数。
微信小程序开发学习之页面导航(声明式导航和编程式导航)
|
JSON 小程序 JavaScript
微信小程序页面事件,下拉刷新事件和上拉触底事件
这篇文章介绍了微信小程序中如何实现下拉刷新和上拉触底事件,包括开启下拉刷新、配置下拉刷新样式、监听下拉刷新事件,以及监听上拉触底事件和配置上拉触底的距离。
|
JSON 小程序 JavaScript
uni-app开发微信小程序的报错[渲染层错误]排查及解决
uni-app开发微信小程序的报错[渲染层错误]排查及解决
3861 7
|
小程序 前端开发 测试技术
微信小程序的开发完整流程是什么?
微信小程序的开发完整流程是什么?
2428 7
|
小程序 JavaScript 前端开发
uni-app开发微信小程序:四大解决方案,轻松应对主包与vendor.js过大打包难题
uni-app开发微信小程序:四大解决方案,轻松应对主包与vendor.js过大打包难题
4271 1
ly~
|
存储 供应链 小程序
除了微信小程序,PHP 还可以用于开发哪些类型的小程序?
除了微信小程序,PHP 还可用于开发多种类型的小程序,包括支付宝小程序、百度智能小程序、抖音小程序、企业内部小程序及行业特定小程序。在电商、生活服务、资讯、工具、娱乐、营销等领域,PHP 能有效管理商品信息、订单处理、支付接口、内容抓取、复杂计算、游戏数据、活动规则等多种业务。同时,在企业内部,PHP 可提升工作效率,实现审批流程、文件共享、生产计划等功能;在医疗和教育等行业,PHP 能管理患者信息、在线问诊、课程资源、成绩查询等重要数据。
ly~
435 6

热门文章

最新文章