#!/usr/bin/env python3 # -*- coding: utf-8 -*- from fastapi import APIRouter, Request, Depends,Query,HTTPException from database import get_db from sqlalchemy.orm import Session from sqlalchemy import case,or_ from sqlalchemy import text from utils import * from utils.ry_system_util import * from utils.video_util import * from common.security import valid_access_token from fastapi.responses import JSONResponse import traceback import base64 from datetime import datetime from common import AvconH5API, AvconMiniAPI from models import * ''' 融合通信相关接口 ''' router = APIRouter() @router.get('/get_video_list') async def get_video_list( db: Session = Depends(get_db) ): return AvconH5API.get_channel_all() @router.get('/get_mini_video_list') async def get_mini_video_list( db: Session = Depends(get_db) ): # domain = AvconMiniAPI.get_config("DOMAIN") # rsa_public_key = AvconMiniAPI.get_config("RSA_PUBLIC_KEY") # return domain + " / " + rsa_public_key # return AvconMiniAPI.get_group_page() # return AvconMiniAPI.get_group_device("G6@mm.zw.yj") # return AvconMiniAPI.get_device_info("19.152.196.150@mm.zw.yj") # return AvconMiniAPI.get_device_all() # return AvconMiniAPI.get_device_channel("19.152.196.150@mm.zw.yj") # return AvconMiniAPI.get_device_channel_gps("19.152.196.150@mm.zw.yj") return AvconMiniAPI.get_channel_all() @router.post("/get_start_mini_param") async def get_start_mini_param( body = Depends(remove_xss_json), db: Session = Depends(get_db) ): userid = get_req_param(body, "userid") password = "123" # 自动入会时的会议ID,若不传roomid或roomid为空,则程序会自动召开一个会议,并将dev-list对应的人员拉入会议中 roomid = get_req_param_optional(body, "roomid") # 进入会议后需要广播的人员列表 dev_list = get_req_param(body, "dev-list") params = { "mode": "mini", "cmd": "enterroom", "serverip": "19.152.196.106", "userid": userid, "password": password, "roomid": roomid, "windowpos": {"x": 0,"y": 0,"width": 1000,"height": 700,"top": True}, "members": { "num": 10, "dev-list": [ { "id": "cs0030@xf" }, { "id": "cs0028@xf", "avtype": "a" } ], "sip-list": [ { "id": "60002" }, { "id": "60008", "avtype": "a" } ] } } params['members']['num'] = len(dev_list) params['members']['dev-list'] = dev_list logger.info("发起融合通信mini客户端: {}", params) json_str = json.dumps(params, ensure_ascii=False) base64_str = base64.b64encode(json_str.encode('utf-8')).decode('utf-8') return { "code": 0, "msg": "success", "data": "" + "avcon6://" + base64_str }