google.rs添加注释

This commit is contained in:
李运家 2025-01-23 14:40:38 +08:00
parent 139536924d
commit f9a594ad50

View File

@ -28,15 +28,82 @@ pub struct GoogleSocial {
google_public_keys: Arc<Mutex<GooglePublicKeys>>,
}
// 假设GOOGLE_PUBLIC_CERT_URL是Google提供的公钥URL
/// 假设GOOGLE_PUBLIC_CERT_URL是Google提供的公钥URL
const GOOGLE_PUBLIC_CERT_URL: &str = "https://www.googleapis.com/oauth2/v3/certs";
// Google OAuth2 相关常量
/// 用途:授权端点
/// - 用户登录和授权的入口
/// - 获取用户同意访问特定范围的权限
const GOOGLE_AUTH_URL: &str = "https://accounts.google.com/o/oauth2/v2/auth";
/// 用途:令牌端点
/// - 使用授权码交换访问令牌
/// - 刷新访问令牌
/// - 获取新的访问令牌
const GOOGLE_TOKEN_URL: &str = "https://oauth2.googleapis.com/token";
/// 用途:令牌撤销端点
/// - 撤销访问令牌
/// - 撤销刷新令牌
/// - 用户退出登录时使用
const GOOGLE_REVOCATION_URL: &str = "https://oauth2.googleapis.com/revoke";
/// 用途Google Play Games 权限范围
/// - 访问游戏相关API的权限
/// - 获取玩家信息、成就等
const GOOGLE_GAMES_SCOPE: &str = "https://www.googleapis.com/auth/games";
/// 用途:用户资料权限范围
/// - 访问用户基本资料的权限
/// - 获取用户名、头像等信息
const GOOGLE_PROFILE_SCOPE: &str = "https://www.googleapis.com/auth/userinfo.profile";
/// 用途:获取玩家状态信息
/// 返回的信息包括:
/// - 游戏进度
/// - 玩家统计数据
/// - 游戏内状态
/// - 成就完成情况
/// - 排行榜数据等
/// 示例响应:
/// ```
/// {
/// "kind": "games#playerState",
/// "timeMillis": "1234567890",
/// "key": "gameState",
/// "data": {
/// // 游戏相关的状态数据
/// "progress": "...",
/// "achievements": [...],
/// "scores": [...],
/// // 其他游戏特定数据
/// }
/// }
/// ```
const PLAY_GAMES_PLAYER_STATS_URL: &str = "https://games.googleapis.com/games/v1/players/me/playerStates";
/// 用途:获取玩家基本资料
/// 返回的信息包括:
// - 玩家ID (playerId)
/// - 显示名称 (displayName)
/// - 头像URL (avatarImageUrl)
/// - 玩家等级
/// - 最后登录时间
/// - 玩家标签
/// 示例响应:
/// ```
/// {
/// "kind": "games#player",
/// "playerId": "123456789",
/// "displayName": "Player Name",
/// "avatarImageUrl": "https://...",
/// "bannerUrlLandscape": "https://...",
/// "bannerUrlPortrait": "https://...",
/// "profileSettings": {
/// "friendsListVisibility": "ALL"
/// },
/// "title": "Level 10 Player",
/// "lastPlayedWith": {
/// "kind": "games#played",
/// "timeMillis": "1234567890"
/// }
/// }
/// ```
const PLAY_GAMES_PROFILE_URL: &str = "https://games.googleapis.com/games/v1/players/me";
#[derive(Debug, Default, Deserialize)]
pub struct GoogleJwtProfile {
@ -230,8 +297,6 @@ impl GoogleSocial {
/// 获取 Google Play Games 用户资料
async fn fetch_play_games_profile(&self, access_token: &str) -> SocialResult<GoogleJwtProfile> {
const PLAY_GAMES_PROFILE_URL: &str = "https://games.googleapis.com/games/v1/players/me";
let client = Client::new();
let response = client
.get(PLAY_GAMES_PROFILE_URL)
@ -274,9 +339,6 @@ impl GoogleSocial {
&self,
access_token: &str,
) -> SocialResult<Option<Value>> {
const PLAY_GAMES_PLAYER_STATS_URL: &str =
"https://games.googleapis.com/games/v1/players/me/playerStates";
let client = Client::new();
let response = client
.get(PLAY_GAMES_PLAYER_STATS_URL)