一个小程序跳到另一个小程序,A小程序跳转到B小程序,并且另一个小程序接收参数,B小程序接收参数

从一个小程序跳另一个小程序的接收参数

首先看一下官方的文档吧小程序官方文档跳转
具体方法如下首先我们先在小程序A的点击事件中添加下面的代码
这里我们传两个参数分别是barcode和promo两个参数

  // 跳转到另一个小程序
    wx.navigateToMiniProgram({
      appId: 'wx424f84e81e3b19f3',
      path: 'pages/redeem/redeem?barCode=6940139226718&promo=1', // 跳转小程序的路径
      extraData: { // 需要带的的参数
        barCode: 6940139226718,
        promo:1
      },
      // 有效值 develop(开发版),trial(体验版),release(正式版)
      envVersion: 'release',
      success(res) {
        console.log('跳转成功');
      }
    })

值得注意的是如果控制台无法打印跳转成功,那么就要检查app.json里面是否配置好了appid

接下来就是把barcode和promo传到小程序B里面来先用微信工具虚拟一个进来的场景,进入场景为1037的从小程虚进入然后设置appid然后要带额外的extraData的就写上是json格式的然后要传的参数
一个小程序跳到另一个小程序,A小程序跳转到B小程序,并且另一个小程序接收参数,B小程序接收参数_第1张图片

值得注意的地方在小程序B里面只能app.js全局onLaunch和onShow里面才有用才能输出extraData

在小程序B中,如果想要获取extraData中的数据,要在app.js文件中添加代码如下

  onLaunch: function (options) {
    console.log(options)
    console.log(options.referrerInfo.extraData.barCode)
    })

在小程序B中,如果想要获取barCode的值和promo,需要在redeem.js文件中添加代码如下:

  onLoad: function (options) {
    console.log(options.barCode)
    console.log(options.promo)
    // console.log(options.referrerInfo.extraData)
    

    var that = this
    setTimeout(function(){
          var param = {
      'flag': 5,
      'age': 20,
      'sex': app.globalData.userInfo.userInfo.gender,
      'wantbarcode':options.barCode,
      'promo_id':options.promo,
      'token': app.globalData.token

      // 'nocheck': 0
    };
    api.post1('/cgi-bin/api/voucher/voucher/third_sendout/', param, function (res) {
      //领取成功
      console.log(res)
      console.log(res.data.data.vid)
      that.setData({
        code:res.data.data.vid.substr(0,4) + ' ' + res.data.data.vid.substr(4,4) + ' ' + res.data.data.vid.substr(8,4) + ' ' + res.data.data.vid.substr(12,1),
        address:res.data.data.promo
      })
    })
    },2000)
    





  },

值得注意的是extraData里面的json数据只能从全局里面传参

你可能感兴趣的:(微信小程序,微信小程序,小程序跳转)