import { ElMessage } from 'element-plus' import axios from 'axios' const user = { ip: '10.20.100.52', // 登录服务器的ip account: 'casic', // 调度台账号 pwd: '888888', // 'c3d418e9bea12c81c5728e5597558a92', // 调度台密码 initAction: '初始化', // 初始化按钮 initStatus: '未初始化', // 初始化状态 loginAction: '登录', // 登录按钮 loginStatus: '未登录', // 登录状态 axios_header: 'https://10.20.100.52:1613', fleetId: -1, pagename: null, initCallBack: null, } function DispatchCallBack(Type: any, Parm: any) { console.log(`Dispatch CallBack${Type}${Parm}`) switch (Type) { case 'InitializeRsp': // DispatchCallback.InitializeRsp(Parm.Result) if (user.initCallBack !== null) { user.initCallBack() } break } } export function init(pagename: string, callBack: any) { user.initCallBack = callBack var retCode = DispatchCtrlLib.Initialize(DispatchCallBack, 0) // , pagename) if (retCode === 0) { console.log('初始化成功, casic203') if (window.location.href.indexOf('https') == 0) { user.axios_header = `https://${user.ip}:1614` } else { user.axios_header = `http://${user.ip}:1603` } // if (callBack !== null) { // callBack() // } } else { ElMessage.warning('初始化失败') } } export function unInit() { DispatchCtrlLib.Uninitialize() } function OnVideoStatus(event: any) { console.log(`OnVideoStatus${event}`) } export function videoInit(index: any) { const videoLib = new DispatchVideoLib() videoLib.OnStatus = OnVideoStatus videoLib.Init(document.getElementById(`video${index}`)) return videoLib } function getFleetId() { axios.post(`${user.axios_header}/scs/electricRailController/fleetId`, { userId: user.account, }).then((res) => { if (res.status === 200) { if (res.data.success) { user.fleetId = res.data.obj[0].fid } } else { console.log('接口错误') } }).catch((err: any) => { console.log('请求错误', err) }) } export function login() { getFleetId() var retCode = DispatchCtrlLib.Login(user.account, user.pwd, user.ip) if (retCode === 0) { user.loginAction = '注销' user.loginStatus = '已登录' console.log('登录成功, casic203') } else { console.log('登录失败, casic203') } } export function logout() { DispatchCtrlLib.Logout() } // number: 终端号,type: 1或5 export function sipVideoFn(videoLib: any, number: number, type: any) { console.log(videoLib, number, type, user.loginStatus) if (user.loginStatus === '未登录') { console.log('未登录无法进行视频拉取') } const res = DispatchCtrlLib.MonitorVideoPull(number, type, '') if (res === 0) { console.log('拉取视频失败') return null } else { console.log('------------------------拉取视频成功--------------------------------') console.log(videoLib) console.log('------------------------res--------------------------------') console.log(res) videoLib.StartDisplay(res) console.log('start display, casic203', res) return res } } // 挂断视频 export function unSipVideo(callId: Number, videoLib: any) { const retCode = DispatchCtrlLib.MonitorVideoHangup(callId) if (retCode == 0) { console.log('挂断成功') } else { console.log('挂断失败') } videoLib.StopDisplay() } // 控制摄像头 /** * 控制摄像头 * @param Number 目标终端号码 * @param Command 操作类型 * @param Direction 方向 * @param Speed 速度 */ export function controlCamera(number: any, command: any, direction?: any, speed?: any) { const res = DispatchCtrlLib.MonitorVideoPtz(number, command, direction, speed) if (res === 0) { console.log('请求成功') } }