小程序跳转
qh.navigateToMiniProgram
解释: 打开另一个小程序。
方法参数:Object object
object
参数说明:
参数名 | 类型 | 必填 | 默认值 | 说明 |
---|---|---|---|---|
appId | String | 是 | - | 要打开的小程序appId |
path | String | 否 | - | 打开的页面路径,如果为空则打开首页。path 中 ? 后面的部分会成为query,目前可使用 qh.getLaunchOptionsSync 中可以获取到 query 数据 |
extraData | Object | 否 | - | 需要传递给目标小程序的数据,目标小程序可使用qh.getLaunchOptionsSync 获取到这份数据 |
envVersion | String | 否 | release | 要打开的小程序版本,当前版本只支持release |
success | Function | 否 | - | 接口调用成功的回调函数 |
fail | Function | 否 | - | 接口调用失败的回调函数 |
complete | Function | 否 | - | 接口调用结束的回调函数(调用成功、失败都会执行) |
使用限制:
需要用户确认跳转: 在跳转至其他小程序前,将统一增加弹窗,询问是否跳转,用户确认后才可以跳转其他小程序。如果用户点击取消,则回调 fail cancel。
每个小程序可跳转的其他小程序数量限制为不超过 10 个: 开发者提交新版小程序代码时,如使用了跳转其他小程序功能,则需要在代码配置中声明将要跳转的小程序名单,限定不超过 10 个,否则将无法通过审核。调用此接口时,所跳转的 appId 必须在app.json中配置,否则回调 fail appId "${appId}" is not in navigateToMiniProgramAppIdList
。
示例:
- 在 html 文件中
<se-button type="primary" @click="navigateToMiniProgram">navigateToMiniProgram</se-button>
- 在 js 文件中
Page({
methods: {
navigateToMiniProgram() {
qh.navigateToMiniProgram({
appId: '"', // 要打开的小程序 appId
path: 'page/index/index?id=123', // 打开的页面路径
extraData: {
key: 'value'
},
success: function (res) {
console.log('navigateToMiniProgram success', res);
},
fail: function (err) {
console.log('navigateToMiniProgram fail', err);
}
});
}
}
});
qh.navigateBackMiniProgram
解释: 返回到上一个小程序。
方法参数:Object object
object
参数说明:
参数名 | 类型 | 必填 | 默认值 | 说明 |
---|---|---|---|---|
extraData | Object | 否 | - | 需要返回给上一个小程序的数据,上一个小程序可使用qh.getLaunchOptionsSync 获取到这份数据。 |
success | Function | 否 | - | 接口调用成功的回调函数 |
fail | Function | 否 | - | 接口调用失败的回调函数 |
complete | Function | 否 | - | 接口调用结束的回调函数(调用成功、失败都会执行) |
示例:
- 在 html 文件中
<se-button type="primary" @click="navigateBackMiniProgram">navigateBackMiniProgram</se-button>
- 在 js 文件中
Page({
methods: {
navigateBackMiniProgram() {
qh.navigateBackMiniProgram({
extraData: {
key: 'value'
},
success: function (res) {
console.log('navigateBackMiniProgram success', res);
},
fail: function (err) {
console.log('navigateBackMiniProgram fail', err);
}
});
}
}
});