|
|
@@ -6,19 +6,48 @@ from django.shortcuts import render
|
|
|
from rest_framework.response import Response
|
|
|
from rest_framework import status
|
|
|
from rest_framework.generics import GenericAPIView
|
|
|
+from rest_framework.views import APIView
|
|
|
from django.db.models import ObjectDoesNotExist, Q
|
|
|
from utils.JWTAuthentication_diy import MyJWTAuthentication
|
|
|
-from utils.permissions import ModulePermission
|
|
|
+from utils.permissions import QxzLoginPermission
|
|
|
from utils.paginations import CustomPagination
|
|
|
from .serializers import QxzTypeConfigAddSerializer, QxzTypeConfigModifySerializer, QxzTypeConfigDeleteSerializer, \
|
|
|
QxzTypeConfigListSerializer, QxzElementAddSerializer, QxzElementModifySerializer, QxzElementDeleteSerializer, \
|
|
|
QxzElementListSerializer, QxzDeviceAddSerializer, QxzDeviceListSerializer
|
|
|
from .models import QxzTypeConfigModel, QxzElementConfigModel, QxzDeviceConfigModel
|
|
|
+import jwt
|
|
|
+
|
|
|
+class UserLoginView(APIView):
|
|
|
+ def post(self, request, *args, **kwargs):
|
|
|
+ """用户登录接口"""
|
|
|
+ username = request.data.get('username')
|
|
|
+ password = request.data.get('password')
|
|
|
+ print(username, password)
|
|
|
+ if username == "admin" and password == "hnyfqxz":
|
|
|
+ token = jwt.encode({"username": username, "password": password}, "secret", algorithm="HS256").decode('utf-8')
|
|
|
+
|
|
|
+ request.session["hnyfqxz"] = token
|
|
|
+ request.session.save()
|
|
|
+ return Response({'msg': "登录成功", "token": token}, status=200)
|
|
|
+ return Response({'msg': "登录失败,用户名或密码不正确"}, status=400)
|
|
|
+
|
|
|
+
|
|
|
+class UserLogoutView(APIView):
|
|
|
+ permission_classes = [QxzLoginPermission]
|
|
|
+
|
|
|
+ def post(self, request, *args, **kwargs):
|
|
|
+ """用户退出接口"""
|
|
|
+ try:
|
|
|
+ del request.session['hnyfqxz']
|
|
|
+ request.session.save()
|
|
|
+ except Exception as e:
|
|
|
+ pass
|
|
|
+ return Response({'msg': "退出成功"}, status=200)
|
|
|
|
|
|
|
|
|
class QxzTypeConfigAddView(GenericAPIView):
|
|
|
# authentication_classes = [MyJWTAuthentication]
|
|
|
- # permission_classes = [ModulePermission]
|
|
|
+ permission_classes = [QxzLoginPermission]
|
|
|
serializer_class = QxzTypeConfigAddSerializer
|
|
|
queryset = QxzTypeConfigModel.objects.all()
|
|
|
|
|
|
@@ -49,7 +78,7 @@ class QxzTypeConfigAddView(GenericAPIView):
|
|
|
|
|
|
class QxzTypeConfigModifyView(GenericAPIView):
|
|
|
# authentication_classes = [MyJWTAuthentication]
|
|
|
- # permission_classes = [ModulePermission]
|
|
|
+ permission_classes = [QxzLoginPermission]
|
|
|
serializer_class = QxzTypeConfigModifySerializer
|
|
|
queryset = QxzTypeConfigModel.objects.all()
|
|
|
|
|
|
@@ -86,7 +115,7 @@ class QxzTypeConfigModifyView(GenericAPIView):
|
|
|
|
|
|
class QxzTypeConfigDeleteView(GenericAPIView):
|
|
|
# authentication_classes = [MyJWTAuthentication]
|
|
|
- # permission_classes = [ModulePermission]
|
|
|
+ permission_classes = [QxzLoginPermission]
|
|
|
serializer_class = QxzTypeConfigDeleteSerializer
|
|
|
queryset = QxzTypeConfigModel.objects.all()
|
|
|
|
|
|
@@ -112,7 +141,7 @@ class QxzTypeConfigDeleteView(GenericAPIView):
|
|
|
|
|
|
class QxzTypeConfigListView(GenericAPIView):
|
|
|
# authentication_classes = [MyJWTAuthentication]
|
|
|
- # permission_classes = [ModulePermission]
|
|
|
+ permission_classes = [QxzLoginPermission]
|
|
|
pagination_class = CustomPagination
|
|
|
serializer_class = QxzTypeConfigListSerializer
|
|
|
queryset = QxzTypeConfigModel.objects.all().order_by('-id')
|
|
|
@@ -137,7 +166,7 @@ class QxzTypeConfigListView(GenericAPIView):
|
|
|
|
|
|
class QxzElementAddView(GenericAPIView):
|
|
|
# authentication_classes = [MyJWTAuthentication]
|
|
|
- # permission_classes = [ModulePermission]
|
|
|
+ permission_classes = [QxzLoginPermission]
|
|
|
serializer_class = QxzElementAddSerializer
|
|
|
queryset = QxzElementConfigModel.objects.all().order_by('-id')
|
|
|
|
|
|
@@ -191,7 +220,7 @@ class QxzElementAddView(GenericAPIView):
|
|
|
|
|
|
class QxzElementModifyView(GenericAPIView):
|
|
|
# authentication_classes = [MyJWTAuthentication]
|
|
|
- # permission_classes = [ModulePermission]
|
|
|
+ permission_classes = [QxzLoginPermission]
|
|
|
serializer_class = QxzElementModifySerializer
|
|
|
queryset = QxzElementConfigModel.objects.all().order_by('-id')
|
|
|
|
|
|
@@ -238,7 +267,7 @@ class QxzElementModifyView(GenericAPIView):
|
|
|
|
|
|
class QxzElementDeleteView(GenericAPIView):
|
|
|
# authentication_classes = [MyJWTAuthentication]
|
|
|
- # permission_classes = [ModulePermission]
|
|
|
+ permission_classes = [QxzLoginPermission]
|
|
|
serializer_class = QxzElementDeleteSerializer
|
|
|
queryset = QxzElementConfigModel.objects.all().order_by('-id')
|
|
|
|
|
|
@@ -260,7 +289,7 @@ class QxzElementDeleteView(GenericAPIView):
|
|
|
|
|
|
class QxzElementListView(GenericAPIView):
|
|
|
# authentication_classes = [MyJWTAuthentication]
|
|
|
- # permission_classes = [ModulePermission]
|
|
|
+ permission_classes = [QxzLoginPermission]
|
|
|
pagination_class = CustomPagination
|
|
|
serializer_class = QxzElementListSerializer
|
|
|
queryset = QxzElementConfigModel.objects.all().order_by('-id')
|
|
|
@@ -285,7 +314,7 @@ class QxzElementListView(GenericAPIView):
|
|
|
|
|
|
class QxzDeviceAddView(GenericAPIView):
|
|
|
# authentication_classes = [MyJWTAuthentication]
|
|
|
- # permission_classes = [ModulePermission]
|
|
|
+ permission_classes = [QxzLoginPermission]
|
|
|
serializer_class = QxzDeviceAddSerializer
|
|
|
queryset = QxzDeviceConfigModel.objects.all().order_by('-id')
|
|
|
|
|
|
@@ -387,7 +416,7 @@ class QxzDeviceAddView(GenericAPIView):
|
|
|
|
|
|
class QxzDeviceModifyView(GenericAPIView):
|
|
|
# authentication_classes = [MyJWTAuthentication]
|
|
|
- # permission_classes = [ModulePermission]
|
|
|
+ permission_classes = [QxzLoginPermission]
|
|
|
serializer_class = QxzDeviceAddSerializer
|
|
|
queryset = QxzDeviceConfigModel.objects.all().order_by('-id')
|
|
|
|
|
|
@@ -488,7 +517,7 @@ class QxzDeviceModifyView(GenericAPIView):
|
|
|
|
|
|
class QxzDeviceListView(GenericAPIView):
|
|
|
# authentication_classes = [MyJWTAuthentication]
|
|
|
- # permission_classes = [ModulePermission]
|
|
|
+ permission_classes = [QxzLoginPermission]
|
|
|
pagination_class = CustomPagination
|
|
|
serializer_class = QxzDeviceListSerializer
|
|
|
queryset = QxzDeviceConfigModel.objects.all().order_by('-id')
|