
export default class NetworkWebSocket {
    // // ws://192.168.1.208:3000/pve/room
    // url: string = "ws://192.168.1.180:3000/boss/room?uuid=10086&deskId=1"
    // // url: string = "ws://192.168.1.208:3000/boss/room?uuid="
    // ws: { [key: string]: WebSocket } = {}
    // tag: number = 0 // 协议tag
    // cbList: { [tag: string]: Function } = {}

    // log: boolean = false

    // enterRoom(uuid: string) {
    //     let key = "boss"
    //     if (this.ws[key] && this.ws[key].readyState === WebSocket.OPEN) {
    //         return
    //     }
    //     this.url = `ws://192.168.1.200:3000/boss/room?uuid=${uuid}&deskId=1`
    //     if (this.log) {
    //         console.warn("C->S WS:", this.url)
    //     }
    //     this.ws[key] = new WebSocket(this.url)
    //     this.ws[key].onopen = (evt) => {
    //         console.log("Connection open...")
    //     }
    //     this.ws[key].onclose = (evt) => {
    //         console.log("Connection close...")
    //     }
    //     this.ws[key].onmessage = (evt) => {
    //         if (this.log) {
    //             console.warn("S->C WS:", evt.data)
    //         }
    //         if (evt.data == null) {
    //             return
    //         }
    //         let result: SevBack = JSON.parse(evt.data)
    //         if (result == null) {
    //             console.error("回调数据异常:", evt.data)
    //             return
    //         }
    //         if (result.ws == null) {
    //             return
    //         }
    //         this.onWsRoom(result, key)
    //     }
    //     this.ws[key].onerror = (evt) => {
    //         console.log("Connection error...", evt)
    //     }
    // }
    // preTag: string = ""
    // send(key: string, params: CS_WS, cb?: (data: SevBack) => void) {
    //     if (this.preTag.length == 0) {
    //         this.preTag = FormulaCom.uuid(4, 2)
    //     }
    //     if (this.ws[key] == null) {
    //         console.error("暂未加入房间", key)
    //         return
    //     }
    //     if (this.ws[key].readyState != WebSocket.OPEN) {
    //         console.error("房间连接异常:", key, this.ws[key].readyState)
    //         console.error("状态枚举-关闭:", WebSocket.CLOSED)
    //         console.error("状态枚举-关闭中", WebSocket.CLOSING)
    //         console.error("状态枚举-连接中", WebSocket.CONNECTING)
    //         return
    //     }
    //     this.tag++
    //     if (this.tag > 127) {
    //         this.tag = 1
    //     }
    //     if (cb) {
    //         this.cbList[this.tag] = cb
    //     }
    //     params = {
    //         tag: this.preTag + "_" + this.tag.toString(),
    //         ...params,
    //     }
    //     if (this.log) {
    //         console.warn("C->S WS:", JSON.stringify(params))
    //     }
    //     this.ws[key].send(JSON.stringify(params))
    // }
    // onWsRoom(result: SevBack, key: string) {
    //     // if (result.ws == null) {
    //     //     return
    //     // }
    //     // console.log("接受数据:", result)
    //     // 刷新后端数据列表
    //     let sevback = SevDataMng.sevBackUpdate(GameDataCenter.sevBack, result)
    //     // 这里去检测通用类数据的前后对比
    //     GameDataCenter.sevBack = sevback
    //     // 业务逻辑自定义参数处理
    //     GameDataCenter._tModel.forEach(element => {
    //         element.doSevback(result)
    //     })
    //     // 业务逻辑事件触发
    //     GameDataCenter._tModel.forEach(element => {
    //         element.doEvent(result)
    //     })

    //     // 执行协议回调
    //     if (result.ws.tag && this.cbList[result.ws.tag]) {
    //         this.cbList[result.ws.tag](result)
    //         delete this.cbList[result.ws.tag]
    //     }
    //     // if (temp.team) {
    //     //     GameDataCenter.sevTeam = temp.team
    //     //     EventMng.emit(SevBackEvent.UP_SEV_TEAM)
    //     // }

    //     // if (params.ws.pve) {
    //     //     for (const uuid in params.ws.pve.list) {
    //     //         cc.game.emit(ServerBridgeEvent.ServerBridgeEvent, uuid, params.ws.pve.list[uuid])
    //     //     }
    //     // }
    // }
    // closeConnect(key: string) {
    //     if (this.ws[key]) {
    //         this.ws[key].close()
    //         delete this.ws[key]
    //     }
    // }
}