yf_yzl 2 年之前
父節點
當前提交
542a753287
共有 2 個文件被更改,包括 16 次插入7 次删除
  1. 8 7
      apps/Equipment/men_tou_gou.py
  2. 8 0
      utils/rendererresponse.py

+ 8 - 7
apps/Equipment/men_tou_gou.py

@@ -57,12 +57,13 @@ class CountDeviceStatus(APIView):
                 offline += 1
             new.append(k)
         myclient.close()
-        return Response({"count": offline + online, "online": online, "offline": offline, "device": new})
+        return Response({"count": offline + online, "online": online, "offline": offline, "device": new, "mtg_name": True})
 
 
 class QxData(APIView):
     # 气象、墒情监测数据
     def post(self, request):
+        print(1/0)
         result = {}
         device_id = {
             "气象站": "864865060482180", 
@@ -107,7 +108,8 @@ class QxData(APIView):
         return Response({
             "qxz":tmp,
             "qxz_conf": conf,
-            "sqz": data
+            "sqz": data,
+            "mtg_name": True
         })
 
 
@@ -118,12 +120,10 @@ class QxWarning(APIView):
         db = myclient.smartfarming
         qxz_alarm = db.sa_qxz_alarm_log_new
         k = qxz_alarm.find_one(sort=[("id", -1)])["id"] + 1
-        print(k)
-
         query = {'device_id': "864865060482180"}
         data = qxz_alarm.find(query, {"_id":0, "warning_content": 1, "upl_time": 1}).sort("upl_time", pymongo.DESCENDING).limit(5)
         myclient.close()
-        return Response(list(data))
+        return Response({"warning": list(data), "mtg_name": True})
     
 
 class CameraDetail(APIView):
@@ -154,8 +154,9 @@ class CameraDetail(APIView):
                 "device_id": device_id,
                 "device_name": device_name if device_name else device_id,
                 "device_info": addr,
-                "is_name": device_name 
+                "is_name": device_name,
+                
             })
         myclient.close()
-        return Response(result)
+        return Response({"camera": result, "mtg_name": True})
         

+ 8 - 0
utils/rendererresponse.py

@@ -14,6 +14,14 @@ class CustomRender(JSONRenderer):
         # print(renderer_context["response"].status_code)
         # print(renderer_context["response"].accepted_media_type)
         if renderer_context:
+            # 优化处理指定返回code的数据
+            if isinstance(data, dict) and renderer_context["response"].status_code == 200 and data.get("mtg_name"):
+                ret = {
+                    'code': "000000",
+                    'msg': "success",
+                    'data': data,
+                }
+                return super().render(ret, accepted_media_type, renderer_context)
             if isinstance(data, dict):
                 msg = data.pop('msg', 'success')
                 code = data.pop('code', renderer_context["response"].status_code)