liuyg
2022-02-21 e3dcaeb0180a4e37347ac9ceb44c8a59ae7af37f
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
// 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