实现支付宝APP扫码跳转小程序并传参

这篇具有很好参考价值的文章主要介绍了实现支付宝APP扫码跳转小程序并传参。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

功能需求

实现思路

第一步,发布二维码的关联规则

发布关联规则的步骤

精确匹配和模糊匹配的区别

精确匹配

模糊匹配

添加小程序功能页

发布关联规则

第二步,读取参数

小程序应用的生命周期

获取二维码中携带的参数

我的需求实现代码片段

 代码调试

 在手机中打开联调

查看数据


功能需求

实现支付宝APP扫描小程序的付款码,跳转到小程序的收款页面

实现思路

在支付宝开放平台中,可以通过在小程序码中,发布关联二维码的关联规则,通过关联规则实现支付宝 APP 扫码跳转到小程序,通过在App.vue页面读取二维码中携带的参数。

第一步,发布二维码的关联规则

首先登录支付宝开放平台,进入小程序的控制台中。点击小程序码,添加关联二维码。

实现支付宝APP扫码跳转小程序并传参

发布关联规则的步骤

注意:发布关联规则的时候,二维码地址的域名必须完成 ICP 备案,并且按照支付宝的要求完成所属校验。

例如:二维码的链接是 https://www.test.com

精确匹配和模糊匹配的区别

精确匹配

精确匹配中,需要所扫二维码链接与关联规则中的二维码的地址完全一致才能够唤起小程序。一般匹配的是唯一的关联规则

模糊匹配

模糊匹配中,用户所扫二维码链接的前缀与关联规则中的二维码地址一致时,就能够跳转到小程序指定的页面。

例如:二维码链接的地址为: https://www.test.com/abc,则生成的二维码的链接包含https://www.test.com/abc,在APP扫码的时候都会发生跳转。就像 https://www.test.com/abc/123或者 https://www.test.com/abc/123/456或者 https://www.test.com/abc/def等,以https://www.test.com/abc为根路径的链接都可以实现跳转。

在本次操作中,只要是满足 url + /pages/user/money/transfer 的链接生成的二维码,都能够实现APP扫码跳转到小程序页面。

添加小程序功能页

添加二维码的链接后,通过添加小程序的功能页面来控制 APP 扫码后跳转的页面。

实现支付宝APP扫码跳转小程序并传参

发布关联规则

内容填充完毕后,点击提交关联规则,点击提交后进入发布关联规则页面

在发布关联规则页面,可以通过生成的测试二维码,进行测试,然后选择发布关联规则。发布的关联规则,会在两分钟内生效。

示例效果图:

实现支付宝APP扫码跳转小程序并传参

第二步,读取参数

读取参数前可以先了解一下小程序的应用生命周期。

小程序应用的生命周期

小程序应用的生命周期在框架接口-APP 里可以看到。

在 App.vue中

App({
  // 监听小程序初始化
  onLaunch (options) {
  
  },
  // 监听小程序启动显示
  onShow (options) {
     
  },
  // 监听小程序隐藏(切入后台时)
  onHide () {
     
  },
})
  1. 当用户首次打开小程序,就触发 onLaunch(只触发一次),小程序程序就开始进行初始化。(二维码的携带参数的值就是在这个生命周期中获取。)
  2. 当小程序代码初始化完成后,触发onShow方法,监听小程序显示,这个时候我们就可以看到页面。
  3. 当小程序从前台进入后台,触发 onHide方法,当我们切换到其他手机程序(从百度APP到QQAPP手机程序)使用,应用切换放置后台运行了。

获取二维码中携带的参数

在 onLanuch 中,在 options.query 中获取到二维码的参数。二维码中获取的参数为 url + 小程序页面 + 具体参数,拼接而成的字符串,具体可以通过在字符串中截取,得到具体需要使用的参数。

onLaunch(options){
  //获取关联普通链接二维码的码值(即二维码地址),放到全局变量 qrCode中
  if (options.query && options.query.qrCode) {
    this.qrCode = options.query.qrCode;
  }
}

options.query的包含的参数有两个

实现支付宝APP扫码跳转小程序并传参

我的需求实现代码片段

首先获取二维码中的数据

onLaunch(options) {
  console.log('数据测试');
  if (options.query && options.query.qrCode) {
    /* console.log('小程序启动时的参数') */
    if(options.query.qrCode.indexOf('transfer')!=-1){
      /* console.log('转账'); */
      uni.setStorageSync('qrCodeData',options.query.qrCode)
    }
  }
},

将从二维码中读取到的数据存储到本地当中,在功能目标页面可以通过在本地中获取然后使用。

需求中的目标页面为 /pages/user/money/transfer ,在 transfer.vue 中获取具体需要使用的参数。具体代码如下

export default {
  data() {
    return {
    	urlData:{},
			isFromApp:false
    }
  },
  onShow() {
    // #ifdef MP-ALIPAY
    /* 在本地中拿到二维码中的数据 */
    let qrCode = uni.getStorageSync('qrCodeData')
    if (qrCode) {
       /* 通过 this.getUrlParam 截取路径中携带的参数 */
      this.getUrlParam(qrCode)
      this.isFromApp=true
    }
    // #endif
    this.shopsInfo()
  },
  methods: {
    /* 获取二维码链接路径中携带的参数中的参数 */
    getUrlParam(url) {
      let params = url.split("?")[1].split("&");
      params.map(v => (this.urlData[v.split("=")[0]] = v.split("=")[1]));
      /* console.log(this.urlData,'拿到的二维码中的参数'); */
    },
  }
}

 代码调试

一般情况下二维码扫码跳转的都是线上已经发布成功的小程序,在支付宝小程序中,可以通过联调实现扫码跳转调试,并在控制台中查看打印的参数。

首先在IDE中点击预览

注意:记得是预览不是真机调试

实现支付宝APP扫码跳转小程序并传参

 在手机中打开联调

连接到手机后,在联调设置中,开启联调扫码版本。开启后APP扫码跳转的就是这个版本的小程序。

 进入小程序后,点击小程序界面的右上角,安全胶囊的三个小圆点,进入设置页面。

实现支付宝APP扫码跳转小程序并传参

实现支付宝APP扫码跳转小程序并传参

 到这里之后,不需要将小程序发布到线上,就能实现APP扫码后跳转到小程序。(记得每次调整代码重新保存运行后,重新打开联调设置,这样才能跳转到正确的版本)。

查看数据

扫码后,跳转到开启联调设置版本的小程序,然后在手机上开启调试

实现支付宝APP扫码跳转小程序并传参

实现支付宝APP扫码跳转小程序并传参

实现支付宝APP扫码跳转小程序并传参

 在图中可以看到在App.vue中,最开始获取到的二维码中的数据,如同前边所说,是由 url + 小程序功能页面 + 参数 组成的字符串。我们可以在字符串中,截取出需要的参数

实现支付宝APP扫码跳转小程序并传参

 到这里就结束了,头一次写文档,可能文章逻辑有点乱,废话有点多,但还是希望对大家有一点点帮助(* ̄︶ ̄)。文章来源地址https://www.toymoban.com/news/detail-447236.html

到了这里,关于实现支付宝APP扫码跳转小程序并传参的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 微信扫码跳转到微信小程序指定页面

    用户想通过在微信上扫描实验室二维码直接进入小程序申请加入实验室 1、首先我们需要在微信公众平台的开发管理——开发设置,找到(扫普通链接二维码打开小程序),点击添加,会出现下面的页面,配置好之后点击保存就行了 填写页配置点击保存之后要再发布 2、在微

    2024年02月16日
    浏览(141)
  • uniapp项目编译成H5后跳转到微信小程序(支持微信扫码、支付宝扫码)

    uniapp项目编译成 H5 后跳转到 微信小程序 (支持微信H5、支付宝H5) 场景:1、微信扫码跳转到该H5中后点击某事件(或者不点击直接跳转)需要跳转到微信小程序;2、支付宝扫码跳转到H5中后点击某事件(或者不点击直接跳转)需要跳转到微信小程序 思路:调用后端接口返回

    2024年02月13日
    浏览(56)
  • H5跳转微信小程序,通过获取URL Scheme,实现短信跳转小程序,微信跳转小程序,邮件跳转小程序,外部链接跳转小程序

    H5链接跳转小程序有2种方式: 第一种:通过微信官方提供的标签wx-open-launch-weapp,打开小程序 第二种:通过获取URL Scheme实现链接跳转小程序 官方文档https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/Wechat_Open_Tag.html#21 注意: 开放范围:针对非个人主体小程序开放。 1、缺点 1)

    2024年02月13日
    浏览(69)
  • flutter App如何跳转小程序如何调用微信sdk(ios/andriod)

            实不相瞒,这一块着实耗费了我很大的时间,因为没有太多ios和andriod原生开发的知识储备,在很多方面就会踩不少坑,这里总结几种app跳转微信小程序的方式 第一种方案:使用明文URL Scheme 这是最简单!不需要太多配置的方式!但是这里有一个坑就是对于ios是无痛拉

    2024年03月14日
    浏览(75)
  • uniApp APP跳转支付宝小程序,uniapp唤起支付小程序

    ps:ios上支付宝的自定义协议是alipay   Android上支付宝的自定义协议是alipays         plus 不需要定义声明,为app端系统默认参数

    2024年02月12日
    浏览(61)
  • app跳转至微信小程序进行支付

    app端代码:(app两套代码做参考) ios开发工具包(SDK) 前往下载  官方文档   官方文档  

    2024年02月16日
    浏览(72)
  • Java实现从第三方页面唤醒小程序并跳转小程序界面

            最近开发中碰到需要从第三方H5唤醒并跳转小程序界面的需求,在微信官方社区找了一番后发现有相关的资料,于是便整理了两个接口并进行了实现,微信提供了三个接口生成小程序跳转链接,如下: (1)、获取 URL Scheme (2)、获取 URL Link (3)、获取 Short Link   

    2024年02月08日
    浏览(72)
  • uniapp开发APP跳转微信小程序和支付宝小程序(安卓版)

    开发APP时需要支付时跳转微信或者支付宝去支付,但是因为银行合作问题不能直接跳转,所以选择跳转到小程序页面进行支付,微信小程序和支付宝小程序写法不同 APP跳转微信小程序 (需要manifest.json中APP模块配置Share中微信分享保持开启) 微信小程序原始id在微信开放平台查

    2024年02月06日
    浏览(61)
  • 微信小程序页面跳转方式+跳转小程序

    官方文档:https://developers.weixin.qq.com/miniprogram/dev/api/route/wx.switchTab.html 跳转到 tabBar 页面,并关闭其他所有非 tabBar 页面 跳转到其他页面(非tabBar页) 返回上一页面或返回多级页面 首先需要在当前小程序app.json中定义:需要跳转的小程序的app-id app.josn文件: 第一种方法:wx.

    2024年02月12日
    浏览(82)
  • 企业微信内部跳转小程序

    企业微信官方文档 在企业微信内快速跳转到指定的小程序页面之前需要先调用wx.agentConfig 关于报错 1. wx.agentConfig成功后跳转小程序报错fail_no permission to execute wx.agentConfig中的jsApiList需要有跳转小程序的launchMiniprogram 2. wx.agentConfig报错40093 jsapi签名错误。请确认: 用于签名的j

    2024年02月11日
    浏览(124)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包