首先看一下官方的文档吧小程序官方文档跳转
具体方法如下首先我们先在小程序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格式的然后要传的参数
值得注意的地方在小程序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数据只能从全局里面传参