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

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

项目场景:

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

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

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

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

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、到此就已经实现了整个微信小程序扫普通链接二维码打开小程序内页面的逻辑了。

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

相关文章
|
10月前
|
缓存 小程序 API
微信小程序页面导航与路由:实现多页面跳转与数据传递
本文深入探讨微信小程序的页面导航与路由机制,介绍多种页面跳转方式如`wx.navigateTo`、`wx.redirectTo`、`wx.switchTab`等,并讲解通过URL、全局变量和事件传递数据的方法。结合案例实现多页面跳转与数据传递,帮助开发者掌握这一重要技能。
|
JSON 小程序 前端开发
微信小程序的目录结构及页面结构的说明
本文详细介绍了微信小程序的目录结构、页面组成部分以及项目的全局配置文件,阐述了小程序的宿主环境和运行机制,包括小程序启动和页面渲染的过程。
微信小程序的目录结构及页面结构的说明
|
小程序 前端开发 开发者
小程序的页面如何布局?
【10月更文挑战第16天】小程序的页面如何布局?
934 1
|
小程序 JavaScript API
微信小程序开发学习之页面导航(声明式导航和编程式导航)
这篇文章介绍了微信小程序中页面导航的两种方式:声明式导航和编程式导航,包括如何导航到tabBar页面、非tabBar页面、后退导航,以及如何在导航过程中传递参数和获取传递的参数。
微信小程序开发学习之页面导航(声明式导航和编程式导航)
|
小程序 前端开发 Java
java 生成小程序二维码
java 生成小程序二维码
289 0
|
JSON 小程序 JavaScript
微信小程序页面事件,下拉刷新事件和上拉触底事件
这篇文章介绍了微信小程序中如何实现下拉刷新和上拉触底事件,包括开启下拉刷新、配置下拉刷新样式、监听下拉刷新事件,以及监听上拉触底事件和配置上拉触底的距离。
|
3月前
|
消息中间件 人工智能 Java
抖音微信爆款小游戏大全:免费休闲/竞技/益智/PHP+Java全筏开源开发
本文基于2025年最新行业数据,深入解析抖音/微信爆款小游戏的开发逻辑,重点讲解PHP+Java双引擎架构实战,涵盖技术选型、架构设计、性能优化与开源生态,提供完整开源工具链,助力开发者从理论到落地打造高留存、高并发的小游戏产品。
|
4月前
|
小程序 JavaScript API
uni-halo + 微信小程序开发实录:我的第一个作品诞生记
这篇文章介绍了使用uni-halo框架进行微信小程序开发的过程,包括选择该框架的原因、开发目标以及项目配置和部署的步骤。
214 0
uni-halo + 微信小程序开发实录:我的第一个作品诞生记
|
10月前
|
自然语言处理 搜索推荐 小程序
微信公众号接口:解锁公众号开发的无限可能
微信公众号接口是微信官方提供的API,支持开发者通过编程与公众号交互,实现自动回复、消息管理、用户管理和数据分析等功能。本文深入探讨接口的定义、类型、优势及应用场景,如智能客服、内容分发、电商闭环等,并介绍开发流程和工具,帮助运营者提升用户体验和效率。未来,随着微信生态的发展,公众号接口将带来更多机遇,如小程序融合、AI应用等。
|
7月前
|
小程序 前端开发 Android开发
小程序微信分享功能如何开发?开放平台已绑定仍不能使用的问题?-优雅草卓伊凡
小程序微信分享功能如何开发?开放平台已绑定仍不能使用的问题?-优雅草卓伊凡
1582 29
小程序微信分享功能如何开发?开放平台已绑定仍不能使用的问题?-优雅草卓伊凡