apk get 无需登录
This commit is contained in:
parent
faab2f954a
commit
3ee00bdbcf
|
|
@ -1,6 +1,6 @@
|
||||||
from email.mime import base
|
from email.mime import base
|
||||||
from django.urls import path, include
|
from django.urls import path, include
|
||||||
from .views import ApkView, FileViewSet, PTaskViewSet, PTaskResultViewSet, PostRoleViewSet, TaskList, \
|
from .views import ApkViewSet, FileViewSet, PTaskViewSet, PTaskResultViewSet, PostRoleViewSet, TaskList, \
|
||||||
UserPostViewSet, UserViewSet, DeptViewSet, \
|
UserPostViewSet, UserViewSet, DeptViewSet, \
|
||||||
PermissionViewSet, RoleViewSet, PostViewSet, \
|
PermissionViewSet, RoleViewSet, PostViewSet, \
|
||||||
DictTypeViewSet, DictViewSet
|
DictTypeViewSet, DictViewSet
|
||||||
|
|
@ -23,6 +23,7 @@ router.register('ptask_result', PTaskResultViewSet, basename="ptask_result")
|
||||||
# router.register('qtask_result', QTaskResultViewSet, basename="qtask_result")
|
# router.register('qtask_result', QTaskResultViewSet, basename="qtask_result")
|
||||||
router.register('user_post', UserPostViewSet, basename='user_post')
|
router.register('user_post', UserPostViewSet, basename='user_post')
|
||||||
router.register('post_role', PostRoleViewSet, basename='post_role')
|
router.register('post_role', PostRoleViewSet, basename='post_role')
|
||||||
|
router.register('apk', ApkViewSet, basename='apk')
|
||||||
|
|
||||||
router2 = routers.DefaultRouter()
|
router2 = routers.DefaultRouter()
|
||||||
router2.register('file', FileViewSet, basename='file')
|
router2.register('file', FileViewSet, basename='file')
|
||||||
|
|
@ -30,6 +31,5 @@ router2.register('file', FileViewSet, basename='file')
|
||||||
urlpatterns = [
|
urlpatterns = [
|
||||||
path(API_BASE_URL, include(router.urls)),
|
path(API_BASE_URL, include(router.urls)),
|
||||||
path(API_BASE_URL + 'task/', TaskList.as_view()),
|
path(API_BASE_URL + 'task/', TaskList.as_view()),
|
||||||
path(API_BASE_URL + 'apk/', ApkView.as_view()),
|
|
||||||
path('api/', include(router2.urls)),
|
path('api/', include(router2.urls)),
|
||||||
]
|
]
|
||||||
|
|
|
||||||
|
|
@ -13,7 +13,7 @@ from rest_framework.mixins import (CreateModelMixin, DestroyModelMixin,
|
||||||
ListModelMixin, RetrieveModelMixin)
|
ListModelMixin, RetrieveModelMixin)
|
||||||
from rest_framework.parsers import (JSONParser,
|
from rest_framework.parsers import (JSONParser,
|
||||||
MultiPartParser)
|
MultiPartParser)
|
||||||
from rest_framework.permissions import IsAuthenticated
|
from rest_framework.permissions import IsAuthenticated, AllowAny
|
||||||
from rest_framework.response import Response
|
from rest_framework.response import Response
|
||||||
from rest_framework.views import APIView
|
from rest_framework.views import APIView
|
||||||
from apps.hrm.models import Employee
|
from apps.hrm.models import Employee
|
||||||
|
|
@ -36,7 +36,7 @@ from .serializers import (ApkSerializer, DeptCreateUpdateSerializer, DeptSeriali
|
||||||
RoleCreateUpdateSerializer, RoleSerializer, TaskRunSerializer,
|
RoleCreateUpdateSerializer, RoleSerializer, TaskRunSerializer,
|
||||||
UserCreateSerializer, UserListSerializer, UserPostCreateSerializer,
|
UserCreateSerializer, UserListSerializer, UserPostCreateSerializer,
|
||||||
UserPostSerializer, UserUpdateSerializer)
|
UserPostSerializer, UserUpdateSerializer)
|
||||||
from rest_framework.generics import ListCreateAPIView
|
from rest_framework.viewsets import GenericViewSet
|
||||||
|
|
||||||
|
|
||||||
# logger.info('请求成功! response_code:{};response_headers:{};
|
# logger.info('请求成功! response_code:{};response_headers:{};
|
||||||
|
|
@ -623,23 +623,36 @@ config = configparser.ConfigParser()
|
||||||
# 读取配置文件
|
# 读取配置文件
|
||||||
filename = os.path.join(settings.BASE_DIR, 'server/conf.ini')
|
filename = os.path.join(settings.BASE_DIR, 'server/conf.ini')
|
||||||
|
|
||||||
|
class ApkViewSet(MyLoggingMixin, ListModelMixin, CreateModelMixin, GenericViewSet):
|
||||||
class ApkView(MyLoggingMixin, ListCreateAPIView):
|
perms_map = {'get': '*', 'post': 'apk.upload'}
|
||||||
permission_classes = [IsAuthenticated]
|
|
||||||
serializer_class = ApkSerializer
|
serializer_class = ApkSerializer
|
||||||
|
|
||||||
def get(self, request):
|
def get_authenticators(self):
|
||||||
"""获取apk信息
|
if self.request.method == 'GET':
|
||||||
|
return []
|
||||||
|
return super().get_authenticators()
|
||||||
|
|
||||||
|
def get_permissions(self):
|
||||||
|
if self.request.method == 'GET':
|
||||||
|
return [AllowAny()]
|
||||||
|
return super().get_permissions()
|
||||||
|
|
||||||
|
def list(self, request, *args, **kwargs):
|
||||||
|
"""
|
||||||
|
获取apk信息
|
||||||
|
|
||||||
获取apk信息
|
获取apk信息
|
||||||
"""
|
"""
|
||||||
config.read(filename, encoding='utf-8')
|
config.read(filename, encoding='utf-8')
|
||||||
file = config.get('apk', 'file')
|
file = config.get('apk', 'file')
|
||||||
# if not file.startswith('http'):
|
|
||||||
# file = settings.BASE_URL + file
|
|
||||||
return Response({'version': config.get('apk', 'version'), 'file': file})
|
return Response({'version': config.get('apk', 'version'), 'file': file})
|
||||||
|
|
||||||
def post(self, request):
|
def create(self, request, *args, **kwargs):
|
||||||
|
"""
|
||||||
|
上传apk
|
||||||
|
|
||||||
|
上传apk
|
||||||
|
"""
|
||||||
sr = ApkSerializer(data=request.data)
|
sr = ApkSerializer(data=request.data)
|
||||||
sr.is_valid(raise_exception=True)
|
sr.is_valid(raise_exception=True)
|
||||||
vdata = sr.validated_data
|
vdata = sr.validated_data
|
||||||
|
|
@ -650,4 +663,4 @@ class ApkView(MyLoggingMixin, ListCreateAPIView):
|
||||||
config.write(f)
|
config.write(f)
|
||||||
from shutil import copyfile
|
from shutil import copyfile
|
||||||
copyfile(settings.BASE_DIR + vdata['file'], settings.BASE_DIR + '/media/zc_ehs.apk')
|
copyfile(settings.BASE_DIR + vdata['file'], settings.BASE_DIR + '/media/zc_ehs.apk')
|
||||||
return Response()
|
return Response()
|
||||||
Loading…
Reference in New Issue