我记得在之前的几个月小程序跳转必须是同一主体(同一公众号),但是现在不用了!!可以 随便跳转 了!!
一、使用限制
1.需要用户触发跳转
从 2.3.0 版本开始,若用户未点击微信小程序页面任意位置,则开发者将无法调用此接口自动跳转至其他小程序。
2.需要用户确认跳转
从 2.3.0 版本开始,在跳转至其他小程序前,将统一增加弹窗,询问是否跳转,用户确认后才可以跳转其他小程序。如果用户点击取消,则回调 fail cancel。
3.每个小程序可跳转的其他小程序数量限制为不超过 10 个
从 2.4.0 版本以及指定日期(具体待定)开始,开发者提交新版小程序代码时,如使用了跳转其他小程序功能,则需要在代码配置中声明将要跳转的小程序名单,限定不超过 10 个,否则将无法通过审核。该名单可在发布新版时更新,不支持动态修改。配置方法详见 如下代码。调用此接口时,所跳转的 appId 必须在配置列表中,否则回调 fail appId "${appId}" is not in navigateToMiniProgramAppIdList。
4.关于调试
在开发者工具上调用此 API 并不会真实的跳转到另外的小程序,但是开发者工具会校验本次调用跳转是否成功。详情
开发者工具上支持被跳转的小程序处理接收参数的调试。详情
二、配置详情
app.json文件中 最后一行 是你配置要跳转到的小程序 appid ,最多能配置10个
"navigateToMiniProgramAppIdList": ["wxe5f52902cf4de896"]
app.json
{
"pages": ["pages/index/index", "pages/logs/index"],
"window": {
"navigationBarTitleText": "Demo"
},
"tabBar": {
"list": [
{
"pagePath": "pages/index/index",
"text": "首页"
},
{
"pagePath": "pages/logs/logs",
"text": "日志"
}
]
},
"networkTimeout": {
"request": 10000,
"downloadFile": 10000
},
"debug": true,
"navigateToMiniProgramAppIdList": ["wxe5f52902cf4de896"]
}
三、使用方法
这个是我本人的,前端技术QQ交流群,有不会的问题,可以在在群里面问:
1. 使用wx.navigateToMiniProgram 打开 。wx.navigateToMiniProgram 官方api
如果你打开之后想返回之前的小程序 使用 wx.navigateBackMiniProgram 返回之前小程序api
注意:返回到上一个小程序。只有在当前小程序是被其他小程序打开时可以调用成功 。
wx.navigateToMiniProgram({
appId: '',//要打开的小程序 appId
path: 'page/index/index?id=123',//打开的页面路径,如果为空则打开首页
extraData: {
foo: 'bar'//需要传递给目标小程序的数据,目标小程序可在 App.onLaunch,App.onShow 中获取到这份数据
},
envVersion: 'develop',//要打开的小程序版本。仅在当前小程序为开发版或体验版时此参数有效。如果当前小程序是正式版,则打开的小程序必定是正式版。
success(res) {
// 打开成功
}
})
2. 使用 navigator 组件
<navigator target="miniProgram" open-type="navigate" app-id="" path="" extra-data="" version="release">打开绑定的小程序</navigator>