Newer
Older
safe_production_front / src / utils / Dispatch706.ts
wangxitong on 16 Aug 3 KB first commit
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 {
    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()
}