要實現從一個小程序裏跳轉至另一個小程序粗略可分爲三步:
- 首先需要獲取要跳轉的小程序APP id。
- 將要跳轉的APP id作爲配置項添加到當前小程序的app.json文件中,參數爲navigateToMiniProgramAppIdList,值爲數組格式,待跳轉的小程序APP id作爲數組項,可支持多個,如:"navigateToMiniProgramAppIdList": ["wx0000000000000000", "wx0000000000000000"]。
- 調用wx.navigateToMiniProgram(Object object)方法實現跳轉,具體參數如下:
參數
Object object
屬性 | 類型 | 默認值 | 必填 | 說明 |
---|---|---|---|---|
appId | string | 是 | 要打開的小程序 appId | |
path | string | 否 | 打開的頁面路徑,如果爲空則打開首頁 | |
extraData | object | 否 | 需要傳遞給目標小程序的數據,目標小程序可在 App.onLaunch ,App.onShow 中獲取到這份數據。 |
|
envVersion | string | release | 否 | 要打開的小程序版本。僅在當前小程序爲開發版或體驗版時此參數有效。如果當前小程序是正式版,則打開的小程序必定是正式版。 |
success | function | 否 | 接口調用成功的回調函數 | |
fail | function | 否 | 接口調用失敗的回調函數 | |
complete | function | 否 | 接口調用結束的回調函數(調用成功、失敗都會執行) |
object.envVersion 的合法值
值 | 說明 |
---|---|
develop | 開發版 |
trial | 體驗版 |
release | 正式版 |
注意事項:
需要用戶觸發跳轉
從 2.3.0 版本開始,若用戶未點擊小程序頁面任意位置,則開發者將無法調用此接口自動跳轉至其他小程序。
需要用戶確認跳轉
從 2.3.0 版本開始,在跳轉至其他小程序前,將統一增加彈窗,詢問是否跳轉,用戶確認後纔可以跳轉其他小程序。如果用戶點擊取消,則回調 fail cancel
。
每個小程序可跳轉的其他小程序數量限制爲不超過 10 個
示例代碼:
wx.navigateToMiniProgram({
appId: '',
path: 'page/index/index?id=123',
extraData: {
foo: 'bar'
},
envVersion: 'develop',
success(res) {
// 打開成功
}
})