# 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获取方法:

获取MiniApp ID

# 返回值

# 示例代码

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')
}