login.py 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. import json
  2. from django.http import JsonResponse
  3. from rest_framework.views import APIView
  4. from apps.user.models import User
  5. from utils.util_jwt import *
  6. class Login_view(APIView):
  7. authentication_classes = []
  8. @staticmethod
  9. def post(request, *args, **kwargs):
  10. # time.sleep(10)
  11. login_data = json.loads(request.body)
  12. login_jwt_token = login_data['jwt_token']
  13. decoding_msg = jwt_decoding(login_jwt_token)
  14. payload, msg = decoding_msg["payload"], decoding_msg["msg"]
  15. if not payload:
  16. return JsonResponse({'code': 1000, 'error': msg})
  17. username, password = payload["username"], payload["password"]
  18. print("用户名密码:", username, password)
  19. user_obj = User.objects.filter(user_name=username, pass_word=password)
  20. if not user_obj:
  21. return JsonResponse({'code': 1000, 'error': '用户名或密码错误'})
  22. token = create_token_for_login(payload)
  23. print(token)
  24. return JsonResponse({'code': 1001, 'user_token': token})