import Cookies from 'js-cookie'
var websock = null;
var global_callback = null;
var serverPort = '10012';	//webSocket连接端口



function getWebIP(){
  var curIP = '192.168.31.138'//window.location.hostname;
  return curIP;
}

function initWebSocket(){ //初始化weosocket
  //ws地址
  var wsuri = 'ws://' + getWebIP() + ':' + serverPort + '/websocket/' + Cookies.get('username')
  if ("WebSocket" in window) {
    websock = new WebSocket(wsuri);
    websock.onmessage = function(e) {
      websocketonmessage(e);
    }
    websock.onclose = function(e) {
      websocketclose(e);
    }
    websock.onopen = function() {
      websocketOpen();
    }
  }
  //连接发生错误的回调方法
  websock.onerror = function () {
    console.log("WebSocket连接发生错误");
  }
}

// 实际调用的方法
function sendSock(agentData,callback){
  global_callback = callback;
  if (websock.readyState === websock.OPEN) {
    //若是ws开启状态
    websocketsend(agentData)
  }else if (websock.readyState === websock.CONNECTING) {
    // 若是 正在开启状态，则等待1s后重新调用
    setTimeout(function () {
      sendSock(agentData,callback);
    }, 1000);
  }else {
    // 若未开启 ，则等待1s后重新调用
    setTimeout(function () {
      sendSock(agentData,callback);
    }, 1000);
  }
}

//数据接收
function websocketonmessage(e){
  console.log(e.data);
}

//数据发送
function websocketsend(agentData){
  websock.send(JSON.stringify(agentData));
}

//关闭
function websocketclose(e){
  console.log("connection closed (" + e.code + ")");
}

function websocketOpen(e){
  console.log("连接成功");
}


export{sendSock,initWebSocket}
