需求:在自己的小程序中,有嵌入webview,然后需要通过点击h5里面的某一个按钮跳转其他小程序
方法:
第一步,先跳回自己小程序的页面,可以加一个中间页,然后在初始化的时候调用跳转其他小程序代码
第二步,定义一个state变量,作用是用来判断是否已经跳转到其他小程序
第三步,在navigateToMiniProgram里面的success回调函数里面把state的变量改为true,同时fail里面添加navigateBack方法
第四步,在页面的useDidShow钩子里面判断state变量为true的时候,弹出一个showModal,我这里显示的是跳转成功,用户点击确定之后,就会回到h5中
以上就是整个过程
h5页面实现
wx.miniProgram.navigateTo({
url: `/pages/middlepage/middlepage`
})
小程序中间页代码实现
const [ success, setSuccess] = useState(false)
useEffect(() => {
Taro.navigateToMiniProgram({
appId: 'appID',
path: 'path',
success: () => {
console.log("成功")
setSuccess(true)
},
fail: () => {
console.log("失败")
Taro.navigateBack()
}
})
},[])
useDidShow(() => {
if (success) {
Taro.showModal({
content: '跳转成功',
showCancel: false,
success: function (res) {
if (res.confirm) {
Taro.navigateBack()
}
}
})
}
})