1234567891011121314151617181920212223242526272829303132333435363738394041 |
- # coding=utf-8
- from django.contrib.auth import get_user_model
- from rest_framework_jwt.views import ObtainJSONWebToken, VerifyJSONWebToken, RefreshJSONWebToken
- from rest_framework.serializers import ValidationError
- from utils import response_error, response_ok
- from apps.staff.serializers import AdminUserJWTSerializer
- User = get_user_model()
- class AdminUserLoginView(ObtainJSONWebToken):
- serializer_class = AdminUserJWTSerializer
- def post(self, request, *args, **kwargs):
- try:
- ser = self.serializer_class(data=request.data)
- ser.request = request
- if ser.is_valid(raise_exception=True):
- return response_ok(ser.validated_data)
- except ValidationError as e:
- return response_error(e.detail['error'][0])
- class AdminUserVerifyTokenView(VerifyJSONWebToken):
- def post(self, request, *args, **kwargs):
- try:
- ser = self.serializer_class(data=request.data)
- if ser.is_valid(raise_exception=True):
- return response_ok({'token': ser.validated_data['token']})
- except ValidationError as e:
- return response_error(u'登录状态失效,请重新登录[' + e.detail['error'][0] + ']')
- class AdminUserRefreshTokenView(RefreshJSONWebToken):
- def post(self, request, *args, **kwargs):
- try:
- ser = self.serializer_class(data=request.data)
- if ser.is_valid(raise_exception=True):
- return response_ok({'token': ser.validated_data['token']})
- except ValidationError as e:
- return response_error(u'登录状态失效,请重新登录[' + e.detail['error'][0] + ']')
|