123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117 |
- // import socket from "@/utils/websocket.js"
- import config from "./config.js"
- import { getStorageSync } from "./common.js"
- let socket_api = `${config.socketUrl}: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 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
- }
- let socket = null
- const filtration = (msg) => {
- if (store.getters.currencyVal.legal_id == msg.legal_id && store.getters.currencyVal.currency_id ==
- msg.currency_id) {
- return true
- } else {
- return false
- }
- }
- // closeSocket();
- export const startSocket = (data) => {
- console.log('closeSocket 初始化')
- closeSocket();
- socket = io(socket_api, {
- query: {},
- transports: ['websocket', 'polling'],
- timeout: 5000,
- });
- socket.on('connect', () => {
- socket.on('market_depth', (msg) => {
- if (filtration(msg)) {
- // console.log('market_depth = ' , msg)
- // 收到服务器推送的消息,可以跟进自身业务进行操作
- // 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))
- }
- })
- socket.on('daymarket', (msg) => {
- // 收到服务器推送的消息,可以跟进自身业务进行操作
- if (filtration(msg)) {
- store.commit('websocket/set_daymarket', msg)
- }
- })
-
- socket.emit('login', getStorageSync('userId'));
- // console.log("getStorageSync('userId')" , getStorageSync('userId'))
- socket.on('lever_trade', (msg) => {
- // if (filtration(msg)) {
- // console.log('lever_trade 133 = ' , JSON.parse(msg.tradesList))
- // const tradesList = JSON.parse(msg.tradesList)
- // const obj = Object.assign({} , msg , {tradesList:tradesList})
- // store.commit('websocket/set_lever_trade', obj)
- // }
- const trades_all = JSON.parse(msg.trades_all)
- const obj = Object.assign({} , msg , {tradesList:trades_all})
- store.commit('websocket/set_lever_trade', obj)
- })
- })
- 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) => {
- 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 = () => {
- try {
- socket && socket.disconnect()
- socket = null;
- } catch {}
- }
|