1、A小程序跳转B小程序:在A小程序需要跳转的页面方法中调用:

let this_ = this
uni.navigateToMiniProgram({
    appId: 'B小程序的appid',//被跳转的appId
    path: 'pages/index/index',//要跳转的目标小程序(B小程序)的路径
    extraData: { //需要传递给目标小程序的参数
	    'name': 'A小程序传递的参数'
	},
	envVersion: 'release', //跳转的版本:develop(开发版),trial(体验版),release(正式版)
	success(res) {
	    // 打开成功
	    console.log(res)
	},
	fail(res) {
        // 打开失败
	    console.log(res)
	}
})

2、B小程序接受A小程序传递的参数:

     !!!可以在B小程序App.vue页面的onLaunch(e) {}或者onShow(e) {}中接受参数

onShow(e) {//写在onShow中可以监听是否切换了后台
    console.log('App.vue->onShow',e)
	if(e.path){
	    if(JSON.stringify(e.query) !== '{}' && e.referrerInfo.appId){//A小程序跳过来
			console.log('A小程序跳过来',e.referrerInfo.appId,e.query)
			console.log('携带的参数',e.referrerInfo)
		}else{
			console.log('切后台--->',e.referrerInfo)
			uni.reLaunch({
				url:'/pages/index/index'
			})
	    }
    }
},

3、B小程序返回A小程序并携带参数:

uni.navigateBackMiniProgram({
	extraData: {
	    code:200,
        data:{
            name:'你来过了!'
        }     
	},
	success(res) {
		console.log('返回成功!')
	}
})
Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐