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

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

项目场景:

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

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

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

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

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

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

相关文章
|
5月前
|
JSON 小程序 JavaScript
uni-app开发微信小程序的报错[渲染层错误]排查及解决
uni-app开发微信小程序的报错[渲染层错误]排查及解决
1180 7
|
21天前
|
小程序 数据安全/隐私保护 开发者
【02】微信支付商户申请下户到配置完整流程-微信开放平台申请APP应用-微信商户支付绑定appid-公众号和小程序分别申请appid-申请+配置完整流程-优雅草卓伊凡
【02】微信支付商户申请下户到配置完整流程-微信开放平台申请APP应用-微信商户支付绑定appid-公众号和小程序分别申请appid-申请+配置完整流程-优雅草卓伊凡
48 3
|
5月前
|
小程序 JavaScript 前端开发
uni-app开发微信小程序:四大解决方案,轻松应对主包与vendor.js过大打包难题
uni-app开发微信小程序:四大解决方案,轻松应对主包与vendor.js过大打包难题
1025 1
|
1月前
|
人工智能 小程序 程序员
【视频测评 DEMO 参考】VSCode 神级 AI 插件通义灵码:完全免费+实战教程+微信贪吃蛇小程序
VSCode 神级 AI 插件通义灵码:完全免费+实战教程+微信贪吃蛇小程序
303 8
|
1月前
|
存储 小程序 前端开发
微信小程序与Java后端实现微信授权登录功能
微信小程序极大地简化了登录注册流程。对于用户而言,仅仅需要点击授权按钮,便能够完成登录操作,无需经历繁琐的注册步骤以及输入账号密码等一系列复杂操作,这种便捷的登录方式极大地提升了用户的使用体验
410 12
|
23天前
|
缓存 小程序 API
微信小程序页面导航与路由:实现多页面跳转与数据传递
本文深入探讨微信小程序的页面导航与路由机制,介绍多种页面跳转方式如`wx.navigateTo`、`wx.redirectTo`、`wx.switchTab`等,并讲解通过URL、全局变量和事件传递数据的方法。结合案例实现多页面跳转与数据传递,帮助开发者掌握这一重要技能。
|
5月前
|
小程序 前端开发 开发者
小程序的页面如何布局?
【10月更文挑战第16天】小程序的页面如何布局?
271 1
|
5月前
|
移动开发 前端开发 Android开发
开发指南059-App实现微信扫描登录
App是用uniapp开发的,打包为apk,上传到安卓平板中使用
|
5月前
|
缓存 小程序 索引
uni-app开发微信小程序时vant组件van-tabs的使用陷阱及解决方案
uni-app开发微信小程序时vant组件van-tabs的使用陷阱及解决方案
377 1
|
5月前
|
小程序 JavaScript API
微信小程序开发之:保存图片到手机,使用uni-app 开发小程序;还有微信原生保存图片到手机
这篇文章介绍了如何在uni-app和微信小程序中实现将图片保存到用户手机相册的功能。
1901 0
微信小程序开发之:保存图片到手机,使用uni-app 开发小程序;还有微信原生保存图片到手机

热门文章

最新文章