• wanli's avatar
    update · e339fd7a
    wanli authored
    e339fd7a
wsNotify.js 945 Bytes
import Vue from "vue";
import defaultSettings from "@/settings";

let wsNotify = null;

const connectWSServer = () => {
  try {
    wsNotify = new WebSocket(
      "ws://" +
        window.location.hostname +
        ":" +
        defaultSettings.port +
        "/ws/api/v1/notify"
    );
  } catch (err) {
    console.error(err);
  }
};

connectWSServer();

window.wsNotify = wsNotify;

wsNotify.notifyBus = new Vue();

wsNotify.onopen = function(event) {
  console.log("wsNotify websocket is conneted!", event);
};

wsNotify.onmessage = function(event) {
  var message = JSON.parse(event.data);
  console.log(message);
  // console.log(message["type"]);
  wsNotify.notifyBus.$emit(message["type"], message);
};

wsNotify.onerror = function(event) {
  console.log(event);
};

wsNotify.onclose = function(event) {
  // 关闭 websocket
  console.log("wsNotify websocket is colosed!", event);
  // connectWSServer();
};

export default wsNotify;