123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121 |
- import s from "./s.js"
- import config from "./config.js"
- import {
- axios
- } from '@/utils/request.js'
- let websock = ''; //webSocket使用
- let isConnect = false; //webSocket连接标识 避免重复连接
- let reConnectNum = 1; //断开后重新连接的次数 免得后台挂了,前端一直重连
- const conceal = () => {
- websockList.value = [];
- };
- const websocketonopen = () => {
- // console.log("WebSocket连接成功");
- //连接建立后修改标识
- isConnect = true;
- };
- const websocketonerror = () => {
- console.log("WebSocket连接发生错误");
- //连接断开后修改标识
- isConnect = false;
- //连接错误 需要重连
- reConnect();
- };
- const websocketonmessage = (e) => {
- if (e != null) {
- // console.log('websocketclose', e)
- let str = JSON.parse(e.data);
- // category : "SYS"
- // content : "您有一个通知公告,请查阅!"
- // createTime : 1670322927873
- // createUser : "1543837863788879871"
- // deleteFlag : "NOT_DELETE"
- // id : "1600076448078106626"
- // msgType : 1
- // subject : "您有一个通知公告,请查阅!"
- websockList.value = JSON.parse(JSON.stringify(str));
- }
- };
- // webSocket连接关闭
- const websocketclose = () => {
- // console.log("webSocket连接关闭");
- isConnect = false;
- websock = "";
- reConnect();
- };
- // 尝试重新连接
- const reConnect = () => {
- // if (reConnectNum > 6) {
- // // console.log("重连超过6次不再重连");
- // return false;
- // }
- // // console.log("isConnect", isConnect, $store.getters.userId);
- // //如果已经连上就不再重试了
- // if (isConnect && !$store.getters.userId) return;
- // initWebSocket($store.getters.userId);
- // reConnectNum = reConnectNum + 1;
- };
- const initWebSocket = (userId) => {
- console.log('getBaseUrl = ', config.getBaseUrl)
- // console.log("进入initWebSocket");
- // console.log("系统用户ID:" + userId);
- // if (userId != null && userId != "") {
- // // WebSocket与普通的请求所用协议有所不同,ws等同于http,wss等同于https
- console.log('a ', )
- const t = new Date().getTime()
- // const env = import.meta.env.VITE_API_BASEURL.split("://");
- // // console.info("location.protocol", wsServer);
- // //线上环境
- // //webSocket 前面加一个前缀xxx_websocket_ 区分后面其他项目的webSocket
- // // let wsServer = "wss://域名地址或ip加端口/ nginx配置的 xxx_websocket/" + userId;
- let wsServer = `wss://doc.okenx.com:2000/socket.io/?EIO=3&transport=websocket&sid=d5ce250e2d16d9410233d8a4`;
- websock = new WebSocket(wsServer);
- websock.onopen = websocketonopen;
- websock.onerror = websocketonerror;
- websock.onmessage = websocketonmessage;
- websock.onclose = websocketclose;
- // }
- };
- export const startWebSocket = (data) => {
- initWebSocket();
- // var socket_api = 'https://doc.okenx.com:2000'
- // var socket = s(socket_api);
- // socket.on('market_depth', function(msg) {
- // console.log('msg = ', msg)
- // if (msg.type == 'market_depth') {
- // if (3 == msg.legal_id && 1 == msg.currency_id) {
- // //btc 匹配
- // // var buyIn = JSON.parse(msg.bids);
- // // var out = JSON.parse(msg.asks).reverse();
- // var buyIn = msg.bids;
- // var out = msg.asks;
- // }
- // }
- // })
- // setTimeout(() => {
- // // 关闭
- // console.log('关闭 = ')
- // socket.close()
- // }, 3000)
- }
- export const startAjaxSocket = () => {
- // https://doc.okenx.com
- // https://doc.okenx.com
- const t = new Date().getTime()
- axios.post(`:2000`, {
- t: t
- }).then(res => {
- })
- }
|