wx.navigateToMiniProgram(Object object)
基础库 1.3.0 开始支持,低版本需做兼容处理。
以 Promise 风格 调用:支持
需要页面权限:当前是插件页面时,宿主小程序不能调用该接口,反之亦然
小程序插件:支持,需要小程序基础库版本不低于 2.18.1
微信 Windows 版:支持
微信 Mac 版:支持
基础库 1.3.0 开始支持,低版本需做兼容处理。
以 Promise 风格 调用:支持
需要页面权限:当前是插件页面时,宿主小程序不能调用该接口,反之亦然
小程序插件:支持,需要小程序基础库版本不低于 2.18.1
微信 Windows 版:支持
微信 Mac 版:支持
打开另一个小程序
参数
Object object
wx.navigateToMiniProgram({
appId: '',
path: 'page/index/index?id=123',
extraData: {
foo: 'bar'
},
envVersion: 'develop',
success(res) {
// 打开成功
}
})
属性 类型 默认值 必填 说明 最低版本 appId string 是 要打开的小程序 appId path string 否 打开的页面路径,如果为空则打开首页。path 中 ? 后面的部分会成为 query,在小程序的 `App.onLaunch`、`App.onShow` 和 `Page.onLoad` 的回调函数或小游戏的 wx.onShow 回调函数、wx.getLaunchOptionsSync 中可以获取到 query 数据。对于小游戏,可以只传入 query 部分,来实现传参效果,如:传入 "?foo=bar"。 extraData object 否 需要传递给目标小程序的数据,目标小程序可在 `App.onLaunch`,`App.onShow` 中获取到这份数据。如果跳转的是小游戏,可以在 wx.onShow、wx.getLaunchOptionsSync 中可以获取到这份数据数据。 envVersion string release 否 要打开的小程序版本。仅在当前小程序为开发版或体验版时此参数有效。如果当前小程序是正式版,则打开的小程序必定是正式版。 合法值 说明 develop 开发版 trial 体验版 release 正式版
shortLink string 否 小程序链接,当传递该参数后,可以不传 appId 和 path。链接可以通过【小程序菜单】->【复制链接】获取。 2.18.1 success function 否 接口调用成功的回调函数 fail function 否 接口调用失败的回调函数 complete function 否 接口调用结束的回调函数(调用成功、失败都会执行)
wx.navigateToMiniProgram({ appId: '', path: 'page/index/index?id=123', extraData: { foo: 'bar' }, envVersion: 'develop', success(res) { // 打开成功 } })
属性 | 类型 | 默认值 | 必填 | 说明 | 最低版本 | |||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
appId | string | 是 | 要打开的小程序 appId | |||||||||||
path | string | 否 | 打开的页面路径,如果为空则打开首页。path 中 ? 后面的部分会成为 query,在小程序的 `App.onLaunch`、`App.onShow` 和 `Page.onLoad` 的回调函数或小游戏的 wx.onShow 回调函数、wx.getLaunchOptionsSync 中可以获取到 query 数据。对于小游戏,可以只传入 query 部分,来实现传参效果,如:传入 "?foo=bar"。 | |||||||||||
extraData | object | 否 | 需要传递给目标小程序的数据,目标小程序可在 `App.onLaunch`,`App.onShow` 中获取到这份数据。如果跳转的是小游戏,可以在 wx.onShow、wx.getLaunchOptionsSync 中可以获取到这份数据数据。 | |||||||||||
envVersion | string | release | 否 | 要打开的小程序版本。仅在当前小程序为开发版或体验版时此参数有效。如果当前小程序是正式版,则打开的小程序必定是正式版。 | ||||||||||
| ||||||||||||||
shortLink | string | 否 | 小程序链接,当传递该参数后,可以不传 appId 和 path。链接可以通过【小程序菜单】->【复制链接】获取。 | 2.18.1 | ||||||||||
success | function | 否 | 接口调用成功的回调函数 | |||||||||||
fail | function | 否 | 接口调用失败的回调函数 | |||||||||||
complete | function | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
使用限制
需要用户触发跳转
从 2.3.0 版本开始,若用户未点击小程序页面任意位置,则开发者将无法调用此接口自动跳转至其他小程序。
需要用户确认跳转
从 2.3.0 版本开始,在跳转至其他小程序前,将统一增加弹窗,询问是否跳转,用户确认后才可以跳转其他小程序。如果用户点击取消,则回调 fail cancel
。
无需声明跳转名单,不限跳转数量(众测中)
- 从2020年4月24日起,使用跳转其他小程序功能将无需在全局配置中声明跳转名单,调用此接口时将不再校验所跳转的 AppID 是否在 navigateToMiniProgramAppIdList 中。
- 从2020年4月24日起,跳转其他小程序将不再受数量限制,使用此功能时请注意遵守运营规范。
运营规范
平台将坚决打击小程序盒子等互推行为,使用此功能时请严格遵守《微信小程序平台运营规范》,若发现小程序违反运营规范将被下架处理。
关于调试
- 在开发者工具上调用此 API 并不会真实的跳转到另外的小程序,但是开发者工具会校验本次调用跳转是否成功。详情
- 开发者工具上支持被跳转的小程序处理接收参数的调试。详情
示例代码
wx.navigateToMiniProgram({ appId: '', path: 'page/index/index?id=123', extraData: { foo: 'bar' }, envVersion: 'develop', success(res) { // 打开成功 } })