libushang 5 mēneši atpakaļ
vecāks
revīzija
01f4402b5c
2 mainītis faili ar 78 papildinājumiem un 0 dzēšanām
  1. 46 0
      routers/api/videoResource/hkvideo.py
  2. 32 0
      utils/hk_video_api.py

+ 46 - 0
routers/api/videoResource/hkvideo.py

@@ -5,6 +5,7 @@ from database import get_db
 from sqlalchemy.orm import Session
 from utils import hk_video_api
 from common import PTZApi
+from utils.StripTagsHTMLParser import *
 
 router = APIRouter()
 
@@ -36,6 +37,51 @@ async def get_ptz_info(
             "msg": "操作成功",
             "data": data
         }
+    except:
+        return {
+            "code": 500,
+            "msg": "操作失败"
+        }
+    
+
+@router.get("/getDeviceByIndexCode")
+async def getDeviceByIndexCode(
+    request: Request, 
+    code: str,
+    db: Session = Depends(get_db)
+):
+    try:
+        data = hk_video_api.getDeviceByIndexCode(code)
+        return {
+            "code": 200,
+            "msg": "操作成功",
+            "data": data
+        }
+    except:
+        return {
+            "code": 500,
+            "msg": "操作失败"
+        }
+    
+
+@router.post("/controlling")
+async def controlling(
+    request: Request, 
+    body=Depends(remove_xss_json),
+    db: Session = Depends(get_db)
+):
+    try:
+        cameraIndexCode = body['cameraIndexCode']
+        action = body['action']
+        command = body['command']
+        speed = body['speed']
+        presetIndex = body['presetIndex']
+        
+        data = hk_video_api.controlling(cameraIndexCode, action, command, speed, presetIndex)
+        return {
+            "code": 200,
+            "msg": "操作成功"
+        }
     except:
         return {
             "code": 500,

+ 32 - 0
utils/hk_video_api.py

@@ -18,3 +18,35 @@ def get_video_url(id: str, protocol: str):
         if result['errcode'] == 0:
             video_url = result['data']
     return video_url
+
+def getDeviceByIndexCode(id: str):
+    api_url = "http://10.181.7.236:8081/getDeviceByIndexCode"
+    params = {
+        "cameraIndexCode": id
+    }
+    print('param', params)
+    response = requests.post(url=api_url, params=params, timeout=15)
+    print(response.text)
+    if response.status_code == 200:
+        result = response.json()
+        if result['errcode'] == 0:
+            data = result['data']
+    return data
+
+def controlling(id: str, action: int, command: str, speed: int, presetIndex: str):
+    api_url = "http://10.181.7.236:8081/controlling"
+    params = {
+        "cameraIndexCode": id,
+        "action": action,
+        "command": command,
+        "speed": speed,
+        "presetIndex": presetIndex
+    }
+    print('param', params)
+    response = requests.post(url=api_url, params=params, timeout=15)
+    print(response.text)
+    if response.status_code == 200:
+        result = response.json()
+        if result['errcode'] == 0:
+            data = result['data']
+    return data