更新记录
1.0.0(2025-12-24)
V1.0.0版本上线,支持安卓端Google 账号登录、退出登录、获取当前用户信息、静默登录
平台兼容性
uni-app(4.66)
| Vue2 | Vue3 | Chrome | Safari | app-vue | app-nvue | Android | iOS | 鸿蒙 |
|---|---|---|---|---|---|---|---|---|
| - | √ | - | - | √ | √ | 9.0 | - | - |
| 微信小程序 | 支付宝小程序 | 抖音小程序 | 百度小程序 | 快手小程序 | 京东小程序 | 鸿蒙元服务 | QQ小程序 | 飞书小程序 | 快应用-华为 | 快应用-联盟 |
|---|---|---|---|---|---|---|---|---|---|---|
| - | - | - | - | - | - | - | - | - | - | - |
uni-app x(4.66)
| Chrome | Safari | Android | iOS | 鸿蒙 | 微信小程序 |
|---|---|---|---|---|---|
| - | - | 9.0 | - | - | - |
关于插件
本插件为uniapp提供原生Android 端的 Google 登录插件,支持 Google 账号登录、退出登录、获取用户信息、静默登录等功能 。
如何使用
引入
import {
googleSignIn,
googleSignOut,
googleGetCurrentUser,
googleSignInSilently
} from "@/uni_modules/wh-google-signin"
API 说明
googleSignIn - Google 登录
发起 Google 登录流程。
参数说明
| 参数名称 | 类型 | 必填 | 描述 | 默认值 |
|---|---|---|---|---|
| serverClientId | string | 是 | 服务器端客户端ID,用于获取服务器授权码,填写web的clientID(仅后端验证时需要) | - |
| scopes | Array |
否 | 请求的额外权限范围(单纯登录不需要填写,默认已包含用户基本信息) | [] |
| success | function | 否 | 成功回调 | - |
| fail | function | 否 | 失败回调 | - |
| complete | function | 否 | 完成回调 | - |
注意:对于单纯的 Google 登录,scopes 参数不需要填写。插件默认会请求以下信息:
- 用户ID
- 用户邮箱
- 用户显示名称
- 用户头像
- ID Token
只有在需要访问其他 Google 服务(如 Google Drive、Gmail 等)时,才需要填写 scopes。
成功回调参数
| 参数名称 | 类型 | 描述 |
|---|---|---|
| idToken | string | 用户ID令牌 |
| accessToken | string | 访问令牌 |
| serverAuthCode | string | 服务器授权码(如果提供了serverClientId) |
| user | object | 用户信息对象 |
| user.id | string | 用户ID |
| user.email | string | 用户邮箱 |
| user.displayName | string | 用户显示名称 |
| user.photoUrl | string | 用户头像URL |
| user.idToken | string | 用户ID令牌 |
失败回调错误码
| 错误码 | 描述 |
|---|---|
| 2201001 | 用户取消登录 |
| 2201002 | 传入的参数异常 |
| 2201003 | Google服务不可用 |
| 2201004 | 网络错误 |
| 2201005 | 登录失败 |
| 2201010 | 其他异常 |
调用示例
googleSignIn({
serverClientId: 'your-server-client-id', // 仅后端验证时需要,web的clientID
success: (res) => {
console.log('登录成功', res)
console.log('用户ID:', res.user.id)
console.log('用户邮箱:', res.user.email)
console.log('用户名称:', res.user.displayName)
console.log('用户头像:', res.user.photoUrl)
console.log('ID Token:', res.idToken)
},
fail: (err) => {
console.log('登录失败', err)
}
})
googleSignOut - 退出登录
退出当前 Google 账号登录。
参数说明
| 参数名称 | 类型 | 必填 | 描述 | 默认值 |
|---|---|---|---|---|
| success | function | 否 | 成功回调 | - |
| fail | function | 否 | 失败回调 | - |
| complete | function | 否 | 完成回调 | - |
调用示例
googleSignOut({
success: () => {
console.log('退出登录成功')
},
fail: (err) => {
console.log('退出登录失败', err)
}
})
googleGetCurrentUser - 获取当前用户信息
获取当前已登录的 Google 用户信息。
参数说明
| 参数名称 | 类型 | 必填 | 描述 | 默认值 |
|---|---|---|---|---|
| success | function | 否 | 成功回调 | - |
| fail | function | 否 | 失败回调 | - |
| complete | function | 否 | 完成回调 | - |
成功回调参数
与 googleSignIn 成功回调参数相同。
调用示例
googleGetCurrentUser({
success: (res) => {
console.log('当前用户信息', res)
},
fail: (err) => {
console.log('获取用户信息失败', err)
}
})
googleSignInSilently - 静默登录
尝试静默登录(如果之前已经登录过)。
参数说明
| 参数名称 | 类型 | 必填 | 描述 | 默认值 |
|---|---|---|---|---|
| success | function | 否 | 成功回调 | - |
| fail | function | 否 | 失败回调 | - |
| complete | function | 否 | 完成回调 | - |
调用示例
googleSignInSilently({
success: (res) => {
console.log('静默登录成功', res)
},
fail: (err) => {
console.log('静默登录失败', err)
// 如果静默登录失败,可以调用 googleSignIn 进行显式登录
}
})
配置说明
注意事项:
- OAuth 2.0 客户端 ID 必须是在 Google Cloud Console 中创建的 Web 应用类型 的客户端 ID
- 客户端 ID 格式通常为:
xxxxxxxxxxxx-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.apps.googleusercontent.com - 确保在 Google Cloud Console 中正确配置了应用的包名和 SHA-1 签名证书指纹

收藏人数:
购买普通授权版(
试用
使用 HBuilderX 导入示例项目
赞赏(0)
下载 1
赞赏 0
下载 12526678
赞赏 1830
赞赏
京公网安备:11010802035340号