csv
All checks were successful
Deploy to Server / deploy (push) Successful in 24s

This commit is contained in:
jeremygan2021
2026-02-28 11:28:35 +08:00
parent 4f4cfcd6f4
commit dba9d4f724
4 changed files with 177 additions and 13 deletions

View File

@@ -1136,16 +1136,17 @@ def wechat_login(request):
else:
# 【新建场景】: 都不存在 -> 创建新用户
user = WeChatUser.objects.create(openid=openid)
if phone_number:
user = WeChatUser.objects.create(openid=openid)
user.phone_number = phone_number
user.save()
else:
# 如果没有手机号(静默登录),不自动创建新用户
print(f"未注册用户尝试静默登录: OpenID={openid}")
pass
# 统一更新会话信息 (确保 user 对象是最新的)
# 重新获取对象以防状态不一致 (可选,但推荐)
# user.refresh_from_db()
if user.openid == openid:
# 统一更新会话信息 (确保 user 对象存在)
if user and user.openid == openid:
user.session_key = session_key
user.unionid = unionid
@@ -1189,7 +1190,8 @@ def wechat_login(request):
# 生成 Token
if not user:
return Response({'error': 'Login failed: User not created'}, status=500)
# 用户未注册且未提供手机号
return Response({'error': 'User not registered', 'code': 'USER_NOT_FOUND'}, status=404)
signer = TimestampSigner()
token = signer.sign(user.openid)