// import socket from "@/utils/websocket.js" let socket_api = 'https://doc.okenx.com:2000' // import io from '@/js_sdk/hyoga-uni-socket_io/uni-socket.io.js'; import io from '@hyoga/uni-socket.io'; import store from '@/store' import { decimalNum } from "./common.js" const socketObj = {} const nums = (arr = []) => { const att = arr.map(el => { return el[1] }) const num = Math.max.apply(null, att) arr.forEach(el => { let n = (el[1] / num * 100).toFixed(2); el[2] = n > 100 ? 100 : n; }) return arr } export const startSocket = (data) => { // return false if (socketObj[data.type]) { socketObj[data.type].disconnect(); socketObj[data.type] = null }; socketObj[data.type] = io(socket_api, { query: {}, transports: ['websocket', 'polling'], timeout: 5000, }); socketObj[data.type].on(data.type, (msg) => { // console.log('socket = ' , socketObj , msg) // if(!socket){ // try{ // socket.disconnect() // socket.closeSocket() // }catch{} // socket = null; // return false // } if (store.getters.currencyVal.legal_id == msg.legal_id && store.getters.currencyVal.currency_id == msg.currency_id) { if (msg.type == 'market_depth') { // var buyIn = msg.bids.slice(0, 7); store.commit('websocket/set_bids', nums(msg.bids)) // var out = msg.asks.slice(0, 7); store.commit('websocket/set_asks', nums(msg.asks)) } if (msg.type == 'daymarket') { // state.daymarket = msg; store.commit('websocket/set_daymarket', msg) } } }); } export const closeSocket = () => { for (let key in socketObj) { if (key) { socketObj[key].disconnect() socketObj[key] = null } }; }