diff --git a/backend/shop/__pycache__/views.cpython-312.pyc b/backend/shop/__pycache__/views.cpython-312.pyc index 60cb3fa..18caa05 100644 Binary files a/backend/shop/__pycache__/views.cpython-312.pyc and b/backend/shop/__pycache__/views.cpython-312.pyc differ diff --git a/backend/shop/views.py b/backend/shop/views.py index 6ffe8a3..a6b48a3 100644 --- a/backend/shop/views.py +++ b/backend/shop/views.py @@ -1121,9 +1121,15 @@ def wechat_login(request): except Exception as e: import traceback traceback.print_exc() + # 确保 user 变量在异常发生时也存在,避免 UnboundLocalError + if 'user' not in locals(): + user = None return Response({'error': f'Login failed: {str(e)}'}, status=500) # 生成 Token + if not user: + return Response({'error': 'Login failed: User not created'}, status=500) + signer = TimestampSigner() token = signer.sign(user.openid)