add default avatar gen is google avatar not exists
This commit is contained in:
+8
-1
@@ -86,11 +86,18 @@ async def auth_callback(request: Request, code: str, state: str):
|
|||||||
random_suffix = secrets.token_hex(3) # 生成 6 位随机字符
|
random_suffix = secrets.token_hex(3) # 生成 6 位随机字符
|
||||||
suggested_handle = f"{base_handle}_{random_suffix}"
|
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(
|
user = User(
|
||||||
google_id=user_info["id"],
|
google_id=user_info["id"],
|
||||||
email=user_info["email"],
|
email=user_info["email"],
|
||||||
name=user_info["name"],
|
name=user_info["name"],
|
||||||
avatar=user_info["picture"],
|
avatar=default_avatar_url,
|
||||||
handle=suggested_handle,
|
handle=suggested_handle,
|
||||||
)
|
)
|
||||||
db.add(user)
|
db.add(user)
|
||||||
|
|||||||
Reference in New Issue
Block a user