add default avatar gen is google avatar not exists

This commit is contained in:
2026-05-18 23:45:17 +08:00
parent 6ed6d38273
commit 4388a6781a
+8 -1
View File
@@ -86,11 +86,18 @@ async def auth_callback(request: Request, code: str, state: str):
random_suffix = secrets.token_hex(3) # 生成 6 位随机字符
suggested_handle = f"{base_handle}_{random_suffix}"
# 如果 Google 没有头像,使用 DiceBear 头像生成器作为兜底
google_avatar = user_info.get("picture")
if not google_avatar:
default_avatar_url = f"https://api.dicebear.com/7.x/lorelei/svg?seed={base_handle}"
else:
default_avatar_url = google_avatar
user = User(
google_id=user_info["id"],
email=user_info["email"],
name=user_info["name"],
avatar=user_info["picture"],
avatar=default_avatar_url,
handle=suggested_handle,
)
db.add(user)