#!/usr/bin/env python3 # -*- coding: utf-8 -*- from fastapi import APIRouter, Request, Depends from database import get_db from sqlalchemy.orm import Session from utils import hk_video_api from common import PTZApi from utils.StripTagsHTMLParser import * import json router = APIRouter() @router.get('/get_video_url_by_id') async def get_video_url_by_id( request: Request, id: str, protocol: str = 'hlss', db: Session = Depends(get_db) ): video_url = hk_video_api.get_video_url(id=id, protocol=protocol) print('video_url', video_url) return { "code": 200, "msg": "操作成功", "data": video_url } @router.get("/get_ptz_info") async def get_ptz_info( request: Request, code: str, db: Session = Depends(get_db) ): try: data = PTZApi.get_ptz_info(code) return { "code": 200, "msg": "操作成功", "data": data } except: return { "code": 500, "msg": "操作失败" } @router.get("/indexCode") async def indexCode( request: Request, code: str, db: Session = Depends(get_db) ): try: data = hk_video_api.indexCode(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, "msg": "操作失败" }