示例#1
0
 def get(self, request):
     """
     接口操作历史
     :param request:
     :return:
     """
     try:
         page_size = int(request.GET.get("page_size", 20))
         page = int(request.GET.get("page", 1))
     except (TypeError, ValueError):
         return JsonResponse(code="999985",
                             msg="page and page_size must be integer!")
     project_id = request.GET.get("project_id")
     api_id = request.GET.get("api_id")
     if not project_id or not api_id:
         return JsonResponse(code="999996", msg="参数有误!")
     if not project_id.isdecimal() or not api_id.isdecimal():
         return JsonResponse(code="999995", msg="参数有误!")
     try:
         pro_data = Project.objects.get(id=project_id)
     except ObjectDoesNotExist:
         return JsonResponse(code="999995", msg="项目不存在!")
     pro_data = ProjectSerializer(pro_data)
     if not pro_data.data["status"]:
         return JsonResponse(code="999985", msg="该项目已禁用")
     try:
         ApiInfo.objects.get(id=api_id, project=project_id)
     except ObjectDoesNotExist:
         return JsonResponse(code="999990", msg="接口不存在!")
     obn = ApiOperationHistory.objects.filter(api=api_id).order_by("-time")
     paginator = Paginator(obn, page_size)  # paginator对象
     total = paginator.num_pages  # 总页数
     try:
         obm = paginator.page(page)
     except PageNotAnInteger:
         obm = paginator.page(1)
     except EmptyPage:
         obm = paginator.page(paginator.num_pages)
     serialize = ApiOperationHistorySerializer(obm, many=True)
     return JsonResponse(data={
         "data": serialize.data,
         "page": page,
         "total": total
     },
                         code="999999",
                         msg="成功!")
示例#2
0
def operation_history(request):
    """
    接口操作历史
    project_id 项目ID
    api_id 接口ID
    page_size 条数
    page 页码
    :return:
    """
    try:
        page_size = int(request.GET.get("page_size", 20))
        page = int(request.GET.get("page", 1))
    except (TypeError, ValueError):
        return JsonResponse(code_msg=GlobalStatusCode.page_not_int())
    project_id = request.GET.get("project_id")
    api_id = request.GET.get("api_id")
    if not project_id.isdecimal() or not api_id.isdecimal():
        return JsonResponse(code_msg=GlobalStatusCode.project_not_exist())
    obj = Project.objects.filter(id=project_id)
    if obj:
        obi = ApiInfo.objects.filter(id=api_id, project=project_id)
        if obi:
            obn = ApiOperationHistory.objects.filter(
                apiInfo=api_id).order_by("-time")
            paginator = Paginator(obn, page_size)  # paginator对象
            total = paginator.num_pages  # 总页数
            try:
                obm = paginator.page(page)
            except PageNotAnInteger:
                obm = paginator.page(1)
            except EmptyPage:
                obm = paginator.page(paginator.num_pages)
            serialize = ApiOperationHistorySerializer(obm, many=True)
            return JsonResponse(data={
                "data": serialize.data,
                "page": page,
                "total": total
            },
                                code_msg=GlobalStatusCode.success())
        else:
            return JsonResponse(code_msg=GlobalStatusCode.api_not_exist())
    else:
        return JsonResponse(code_msg=GlobalStatusCode.project_not_exist())