更新记录

1.0.1(2026-09-28)

更新 插件信息

1.0.0(2026-09-28)

支持 安卓/iOS平台 taptap授权登录


平台兼容性

uni-app(4.36)

Vue2 Vue2插件版本 Vue3 Vue3插件版本 Chrome Safari app-vue app-vue插件版本 app-nvue app-nvue插件版本 Android Android插件版本 iOS iOS插件版本 鸿蒙
√ 1.0.0 √ 1.0.0 × × √ 1.0.0 √ 1.0.0 5.0 1.0.0 12 1.0.0 ×
微信小程序 支付宝小程序 抖音小程序 百度小程序 快手小程序 京东小程序 鸿蒙元服务 QQ小程序 飞书小程序 小红书小程序 快应用-华为 快应用-联盟
× × × × × × × × × × × ×

uni-app x(4.36)

Chrome Safari Android Android插件版本 iOS iOS插件版本 鸿蒙 微信小程序
× × 5.0 1.0.0 12 1.0.0 × ×

tt-taptap-sdk

TapTap 登录 UTS 插件,当前支持 uni-app x App Android 和 iOS:

  • SDK 初始化
  • TapTap 登录
  • 登录态检查
  • 当前 AccessToken 查询
  • 退出登录

使用前准备

  1. 在 TapTap 开发者中心创建应用,获取 Client ID 和 Client Token。
  2. 将 Android 包名、签名和 iOS Bundle ID 配置到 TapTap 应用。
  3. 使用自定义基座或正式打包验证,普通运行基座不包含本插件依赖。
  4. AccessToken 只能用于服务端换取或校验业务身份,不能把客户端返回值直接当作可信用户身份。
  5. 按 TapSDK 合规要求,在用户同意应用隐私政策后再调用 initialize()。

引用和初始化

import * as taptap from "@/uni_modules/tt-taptap-sdk"

const sdk = taptap.getTapTapSDK()

sdk.initialize({
  clientId: "TapTap Client ID",
  clientToken: "TapTap Client Token",
  success: (_result) => {
    console.log("TapTap 初始化成功")
  },
  fail: (error) => {
    console.error(error.errCode, error.errMsg)
  }
} as taptap.TapTapInitOptions)

登录

sdk.login({
  scopes: ["public_profile"],
  success: (result) => {
    console.log("AccessToken:", result.accessToken)
    console.log("openId:", result.openId)
    console.log("unionId:", result.unionId)
    console.log("name:", result.name)
    // 将 result.accessToken 发送到业务服务端,由服务端完成身份校验。
  },
  fail: (error) => {
    console.error(error.errCode, error.errMsg)
  }
} as taptap.TapTapLoginOptions)

scopes 至少需要包含 public_profile 或 basic_info,支持值如下:

Scope 说明
public_profile openId、unionId、昵称和头像
basic_info openId 和 unionId,可用于无感授权场景
user_friends 好友相关能力
email 邮箱信息

插件会去重 scopes;传入不支持的值或缺少身份 scope 时返回 1008。Android 和 iOS 使用同一套校验规则。

登录态和退出登录

const loggedIn = sdk.isLoggedIn()
const token = sdk.getCurrentAccessToken()

if (token != null) {
  console.log(token.value, token.openId)
}

sdk.logout()

错误码

错误码 说明
1001 SDK 未初始化
1002 SDK 初始化失败
1003 登录失败
1004 用户取消登录
1005 登录凭证不可用
1006 初始化参数不能为空
1007 当前平台暂不支持
1008 登录授权范围无效
1009 初始化或登录正在进行中,请勿重复调用

平台配置

Android

插件通过 com.taptap.sdk:tap-core:4.10.9 和 com.taptap.sdk:tap-login:4.10.9 引入 SDK,最低支持 Android API 21。请在 TapTap 控制台配置与应用一致的包名和签名。

iOS

插件通过 CocoaPods 的 TapTapSDK/Login 4.10.9 模块引入 SDK,最低部署版本为 iOS 12。该模块会带入 TapTap Core 依赖。插件使用统一初始化接口,clientId、clientToken 和 region 在 Android/iOS 均会生效。请在 TapTap 控制台配置一致的 Bundle ID,并配置以下 URL Scheme:

tt[ClientID]

插件内的 utssdk/app-ios/Info.plist 已提供 URL Scheme 占位符,请把 tt[填写ClientID] 替换成真实的 tt + Client ID。init 参数是运行时主配置,URL Scheme 仅用于 iOS 登录回跳。

例如 Client ID 为 FwFdCxxxxxxxQDQwQN,最终 Scheme 应为:

ttFwFdCxxxxxxxQDQwQN

插件已通过 UTSiOSHookProxy 转发 AppDelegate URL 回调。若宿主工程自行实现了 URL/Scene 回调,请确认没有提前拦截 TapTap Scheme。

服务端身份校验

accessToken 是 JSON 字符串,包含 kid、token_type、mac_key、mac_algorithm 等授权字段。客户端应把最新 Token 发送到自己的服务端,由服务端生成 MAC Authorization 并调用 TapTap OpenAPI 获取用户信息;不要仅信任客户端传入的 openId,也不要把控制台的 Server Secret 当作 mac_key。

  • 国内接口域名:open.tapapis.cn
  • 海外接口域名:open.tapapis.com
  • Token 可能刷新或提前失效,业务服务端不应长期缓存客户端 Token。

隐私与合规

TapSDK 官方要求先取得用户对应用隐私政策的同意,再初始化 SDK。应用隐私政策中还应披露 TapSDK、易玩(上海)网络科技有限公司、处理的信息类型、使用目的及 TapSDK 隐私政策链接。插件清单已声明网络权限及相关数据类型,但最终隐私弹窗、隐私政策和应用市场隐私标签仍由接入方按实际功能完成。

发布前检查

  • Android 包名、正式签名 MD5 与 TapTap 开发者中心一致。
  • iOS Bundle ID 与开发者中心一致,tt[ClientID] 占位符已替换。
  • 国内应用使用 region: "CN",海外应用使用 region: "GLOBAL"。
  • 初始化成功后再允许登录,并防止用户重复点击登录按钮。
  • 分别验证安装和未安装 TapTap 客户端时的登录与回跳。
  • 服务端已使用 MAC Token 调用 OpenAPI 校验身份,并处理 Token 失效。
  • 使用正式包或自定义基座在 Android/iOS 真机完成验证。

当前限制

  • HarmonyOS 入口已保留,但当前返回 1007,未接入 TapTap Harmony SDK。
  • 登录、支付、合规认证、成就、云存档不是同一个 SDK 能力;本插件只实现登录模块。
  • 需要真实 TapTap 应用配置、安装 TapTap 客户端或可用的网页登录环境后,才能验证完整登录链路。

隐私、权限声明

1. 本插件需要申请的系统权限列表:

无

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

无

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

无