// import $store from '../index.js' // import vueconfig from '../../vue.config.js' import Wst from './lid/websocketL.js' import WxStorage from "../static/lib/wxStorage.js" //微信Storage // var url = 'ws://' + vueconfig.devServer.proxy["/cloud"].target.substring(5) + '/websocket'; import $store from './index.js' import apis from "./apiConfig.js" // let url = 'ws://192.168.0.108:9034/websocket'; // let url = 'ws://223.82.109.183:2082/websocket'; let url = apis.wsapi; const webSockets = new Wst(url); let websocket = { state: { webSockets: webSockets, //websocket实例 socket: '', //websoclet主体 socketValue: '', //接收的数据 socketState: false, // 当前连接websocket状态 socketInterval: false, //心跳 socketTimeout: false, //检测服务器是否连接成功timeout socketInterTime: 5000, //心跳时间 秒*1000 socketStateMY: true, //总控 在退出登入时,强行关闭心跳 }, actions: { connectws({ state, commit }) { console.log("开启websocket") var getValue = function(res) { // 消息回调 commit("setSocketValue", res); } var getState = function(res) { // 状态回调 commit("setState", res); } var getws = function(res) { // 主体回调 commit("setSocket", res); } let equipmentInformation = navigator.userAgent; // var Data = { // router: "share", // res: { // ...$store.state.logs.user, // equipmentInformation: equipmentInformation // }, // } var ws = webSockets.$callBack(getValue, getState, getws, state.puserID || WxStorage.get("ids")) .$connect(); }, }, mutations: { wsOut(state, value) { webSockets.$outws(); }, setSocket(state, value) { //websocket主体 state.socket = value; }, setSocketValue(state, value) { // console.log(value) // if (value.router) { //正常数据返回 // //去除心跳数据 // if (value.router == 'share/heartbeat') { // return; // } state.socketValue = value; // console.log(value, 'websocket信息') // } else { //异常数据返回 // console.log(value, '异常') // } }, //本地建造数据传递 setMyvalue(state, value) { state.socketValue = value; }, setsocketStateMY(state, value) { state.socketStateMY = value; }, setState(state, value) { state.socketState = value; }, } } export default websocket