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("://");
- let wsServer = `https://doc.okenx.com:2000/socket.io/?EIO=3&transport=polling&t=1683534247683-4&sid=8b70ac692c16d9410137bc75`;
- // // console.info("location.protocol", wsServer);
- // //线上环境
- // //webSocket 前面加一个前缀xxx_websocket_ 区分后面其他项目的webSocket
- // // let wsServer = "wss://域名地址或ip加端口/ nginx配置的 xxx_websocket/" + userId;
- 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 => {
- })
- }
|