# tap.navigateToMiniProgram
基础库 2.9.0 开始支持,低版本需做兼容处理
以 Promise 风格调用:支持
# 功能描述
打开其他小游戏。
# 参数
| 参数名 | 类型 | 默认值 | 必填 | 说明 |
|---|---|---|---|---|
| appIds | Array.<string> | 是 | 要打开的小游戏 MiniApp ID 列表。MiniApp ID 可在目标小游戏的开发者后台-->开放能力-->小游戏基本信息中查看。 注意: 1. 目标小游戏必须是同厂商已上线的小游戏,不满足此条件的会被过滤掉 2. 最多支持 4 个小游戏 ID,超出部分将被忽略 | |
| extraData | object | 否 | 需要传递给目标小游戏的数据, 目标小游戏可在 tap.onShow、tap.getLaunchOptionsSync 中获取这份数据。 | |
| success | function | 否 | 接口调用成功的回调函数 | |
| fail | function | 否 | 接口调用失败的回调函数 | |
| complete | function | 否 | 接口调用结束的回调函数 |
# appId获取方法:

# 返回值
无
# 示例代码
function compareVersion(v1, v2) {
const parts1 = v1.split('.').map(Number)
const parts2 = v2.split('.').map(Number)
for (let i = 0; i < Math.max(parts1.length, parts2.length); i++) {
const num1 = parts1[i] || 0
const num2 = parts2[i] || 0
if (num1 > num2) return 1
if (num1 < num2) return -1
}
return 0
}
const tapSDKVersion = tap.getAppBaseInfo().tapSDKVersion
if (tapSDKVersion && compareVersion(tapSDKVersion, '2.9.0') >= 0) {
tap.navigateToMiniProgram({
appIds: [
'tapxxxxxxxxxxxxxx0',
'tapxxxxxxxxxxxxxx1'
],
extraData: { //替换成实际需要传递的数据
userType: 'vip',
score: 1010
},
success: (res) => {
console.log(`navigateToMiniProgram success:`, JSON.stringify(res, null, 2));
},
fail: ({errMsg, errno}) => {
console.error(` navigateToMiniProgram failed: errMsg=${errMsg}, errno=${errno}`);
},
complete: ({errMsg, errno}) => {
console.log(`navigateToMiniProgram complete: errMsg=${errMsg}, errno=${errno}`);
}
});
} else {
console.error('navigateToMiniProgram api is not supported yet')
}
