123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111 |
- #!/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
- }
|