Пример #1
0
 public static void CleanCache()
 {
     _instance = null;
 }
        protected internal override void Execute(int eventCode, object message)
        {
            //发一次请求触发一次点击音效,(排除点赞,可提取,商会升级)

            if (PlayerPrefs.GetString("GameAudioIsOpen") == "open")
            {
                if (eventCode == ReqEventType.likefriend)
                {
                    Dispatch(AreaCode.AUDIO, AudioEvent.LIKE_CLICK_AUDIO, "LikeVoice");
                }
                else if (eventCode == ReqEventType.cach_withdrawal)
                {
                    Dispatch(AreaCode.AUDIO, AudioEvent.EXACTABLE_AUDIO, "ExactableVoice");
                }
                else
                {
                    Dispatch(AreaCode.AUDIO, AudioEvent.PLAY_CLICK_AUDIO, "ClickVoice");
                }
            }


            // Dispatch(AreaCode.UI, UIEvent.LOAD_PANEL_HINDED, true);
            //初始化联接操作
            if (_wabData.WebSocket == null || eventCode == ReqEventType.init)
            {
                if (PlayerPrefs.HasKey("username"))
                {
                    CacheData.Instance().Username = PlayerPrefs.GetString("username");
                }
                Dispatch(AreaCode.UI, UIEvent.LOAD_PANEL_HINDED, true);
                _wabData.OpenWebSocket();
                //登入断线重连
                if (PlayerPrefs.HasKey("token") && _wabData.WebSocket.IsAlive)
                {
                    _wabData.WebSocket.Send("token&&" + CacheData.Instance().Username);
                }
                //        // ["token"] = CacheData.Instance().Token
                //        ["token"] = PlayerPrefs.GetString("token")
                //    };
                //    _wabData.SendMsg(logMsg);
                //}
                return;
            }

            if (_wabData.WebSocket != null && _wabData.WebSocket.IsAlive)
            {
                switch (eventCode)
                {
                case ReqEventType.pwlogin:
                    //密码登入操作
                    socketMsg = accountRequestMsg.ReqPWLoginMsg(message);
                    if (socketMsg == null)
                    {
                        return;
                    }
                    Dispatch(AreaCode.UI, UIEvent.LOAD_PANEL_HINDED, true);
                    _wabData.SendMsg(socketMsg);
                    break;

                case ReqEventType.idlogin:
                    //验证码登入
                    socketMsg = accountRequestMsg.ReqIDLoginMsg(message);
                    if (socketMsg == null)
                    {
                        return;
                    }
                    Dispatch(AreaCode.UI, UIEvent.LOAD_PANEL_HINDED, true);
                    _wabData.SendMsg(socketMsg);
                    break;

                case ReqEventType.regist:
                    //注册操作
                    socketMsg = accountRequestMsg.ReqRegMsg(message);
                    if (socketMsg == null)
                    {
                        return;
                    }
                    Dispatch(AreaCode.UI, UIEvent.LOAD_PANEL_HINDED, true);
                    _wabData.SendMsg(socketMsg);
                    break;

                case ReqEventType.pwforget:
                    //忘记密码
                    socketMsg = accountRequestMsg.ReqForgetMsg(message);
                    if (socketMsg == null)
                    {
                        return;
                    }
                    Dispatch(AreaCode.UI, UIEvent.LOAD_PANEL_HINDED, true);
                    _wabData.SendMsg(socketMsg);
                    break;

                case ReqEventType.addfriend:
                    //添加好友
                    socketMsg = friendRequestMsg.ReqAddFriendMsg(message);
                    if (socketMsg == null)
                    {
                        return;
                    }
                    Dispatch(AreaCode.UI, UIEvent.LOAD_PANEL_HINDED, true);
                    _wabData.SendMsg(socketMsg);
                    break;

                case ReqEventType.identy:
                    //获取验证码
                    socketMsg = accountRequestMsg.ReqGetIdentityMsg(message);
                    if (socketMsg == null)
                    {
                        return;
                    }
                    Dispatch(AreaCode.UI, UIEvent.LOAD_PANEL_HINDED, true);
                    _wabData.SendMsg(socketMsg);
                    break;

                case ReqEventType.expw:
                    //修改密码
                    socketMsg = setRequestMsg.ReqPWChangeMsg(message);
                    if (socketMsg == null)
                    {
                        return;
                    }
                    Dispatch(AreaCode.UI, UIEvent.LOAD_PANEL_HINDED, true);
                    _wabData.SendMsg(socketMsg);
                    break;

                case ReqEventType.expwshop:
                    //设置交易密码
                    socketMsg = setRequestMsg.ReqExPwShopMsg(message);
                    //socketMsg = setRequestMsg.ReqPWChangeMsg(message);
                    if (socketMsg == null)
                    {
                        return;
                    }
                    Dispatch(AreaCode.UI, UIEvent.LOAD_PANEL_HINDED, true);
                    _wabData.SendMsg(socketMsg);
                    break;

                //case ReqEventType.voiceset:
                //    //音效设置
                //    socketMsg = setRequestMsg.ReqVoiceSetMsg(message);
                //    _wabData.SendMsg(socketMsg);
                //    break;
                case ReqEventType.searchfriend:
                    //搜索用户
                    socketMsg = friendRequestMsg.ReqSearchUserMsg(message);
                    if (socketMsg == null)
                    {
                        return;
                    }
                    Dispatch(AreaCode.UI, UIEvent.LOAD_PANEL_HINDED, true);
                    _wabData.SendMsg(socketMsg);

                    break;

                case ReqEventType.likefriend:
                    //好友点赞
                    socketMsg = friendRequestMsg.ReqLikeFriendMsg(message);
                    if (socketMsg == null)
                    {
                        return;
                    }
                    Dispatch(AreaCode.UI, UIEvent.LOAD_PANEL_HINDED, true);
                    _wabData.SendMsg(socketMsg);

                    break;

                case ReqEventType.applytofriend:
                    //申请通过/拒绝

                    socketMsg = friendRequestMsg.ReqAgreeFriendMsg(message);
                    if (socketMsg == null)
                    {
                        return;
                    }
                    Dispatch(AreaCode.UI, UIEvent.LOAD_PANEL_HINDED, true);
                    _wabData.SendMsg(socketMsg);

                    break;

                case ReqEventType.property:
                    //测试资产请求
                    socketMsg = accountRequestMsg.ReqPropertyTestMsg(message);
                    if (socketMsg == null)
                    {
                        return;
                    }
                    Dispatch(AreaCode.UI, UIEvent.LOAD_PANEL_HINDED, true);
                    _wabData.SendMsg(socketMsg);

                    break;

                case ReqEventType.nextgrouds:
                    //换一批
                    socketMsg = friendRequestMsg.ReqNextUserList(message);
                    if (socketMsg == null)
                    {
                        return;
                    }
                    Dispatch(AreaCode.UI, UIEvent.LOAD_PANEL_HINDED, true);
                    _wabData.SendMsg(socketMsg);

                    break;

                case ReqEventType.commerce_member:
                    //商会成员信息请求
                    reqCommerceSocketMsg = commerceRequsetMsg.ReqCommerceMsg(message);
                    if (socketMsg == null)
                    {
                        return;
                    }
                    _wabData.SendMsg(reqCommerceSocketMsg);
                    Dispatch(AreaCode.UI, UIEvent.LOAD_PANEL_HINDED, true);
                    break;

                case ReqEventType.commerce_in:
                    //商会加入请求
                    reqCommerceSocketMsg = commerceRequsetMsg.ReqComeCommerceMsg(message);
                    if (socketMsg == null)
                    {
                        return;
                    }
                    _wabData.SendMsg(reqCommerceSocketMsg);
                    break;

                case ReqEventType.transfer:
                    reqTrasferSocketMsg = accountRequestMsg.ReqTransferMsg(message);
                    if (socketMsg == null)
                    {
                        return;
                    }
                    _wabData.SendMsg(reqTrasferSocketMsg);
                    break;

                case ReqEventType.recharge:
                    socketMsg = accountRequestMsg.ReqRechargeMsg(message);
                    if (socketMsg == null)
                    {
                        return;
                    }
                    _wabData.SendMsg(socketMsg);
                    break;

                case ReqEventType.commerce_sendmt:
                    reqCommerceSocketMsg = commerceRequsetMsg.ReqSendMTMsg(message);
                    if (socketMsg == null)
                    {
                        return;
                    }
                    _wabData.SendMsg(reqCommerceSocketMsg);
                    break;

                case ReqEventType.invest_req:
                    socketMsg = investRequestMsg.ReqInvestMsg(message);
                    if (socketMsg == null)
                    {
                        return;
                    }
                    _wabData.SendMsg(socketMsg);
                    break;

                case ReqEventType.squarefriend:
                    socketMsg = friendRequestMsg.ReqSquareMsg(message);
                    if (socketMsg == null)
                    {
                        return;
                    }
                    _wabData.SendMsg(socketMsg);
                    break;

                case ReqEventType.menu_req:
                    socketMsg = accountRequestMsg.ReqMenuMsg(message);
                    if (socketMsg == null)
                    {
                        return;
                    }
                    _wabData.SendMsg(socketMsg);
                    break;

                case ReqEventType.change_expwshop:
                    socketMsg = setRequestMsg.ReqPWShopChangeMsg(message);
                    _wabData.SendMsg(socketMsg);
                    break;

                case ReqEventType.applyfriend:
                    socketMsg = friendRequestMsg.ReqApplyFriendList(message);
                    if (socketMsg == null)
                    {
                        return;
                    }
                    _wabData.SendMsg(socketMsg);
                    break;

                case ReqEventType.permission_commerce:
                    reqCommerceSocketMsg = commerceRequsetMsg.ReqPermissionCommerceMsg(message);
                    if (socketMsg == null)
                    {
                        return;
                    }
                    _wabData.SendMsg(reqCommerceSocketMsg);
                    break;

                case ReqEventType.buyMt:
                    reqCommerceSocketMsg = commerceRequsetMsg.ReqBuyMTMsg(message);
                    if (socketMsg == null)
                    {
                        return;
                    }
                    _wabData.SendMsg(reqCommerceSocketMsg);
                    break;

                case ReqEventType.confirmPass:
                    socketMsg = accountRequestMsg.ReqCheckPass(message);
                    if (socketMsg == null)
                    {
                        return;
                    }
                    _wabData.SendMsg(socketMsg);
                    break;

                case ReqEventType.checkMoney:
                    socketMsg = accountRequestMsg.ReqCheckMoney(message);
                    if (socketMsg == null)
                    {
                        return;
                    }
                    _wabData.SendMsg(socketMsg);
                    break;

                case ReqEventType.commerceSendMT:
                    reqCommerceSocketMsg = commerceRequsetMsg.ReqSendAllMsg(message);
                    if (socketMsg == null)
                    {
                        return;
                    }
                    _wabData.SendMsg(reqCommerceSocketMsg);
                    break;

                case ReqEventType.auto_send:
                    reqCommerceSocketMsg = commerceRequsetMsg.ReqSendAutoMsg(message);
                    if (socketMsg == null)
                    {
                        return;
                    }
                    _wabData.SendMsg(reqCommerceSocketMsg);
                    break;

                case ReqEventType.ExchangeCenter:
                    reqCommerceSocketMsg = commerceRequsetMsg.ReqExchangeCenterMsg(message);
                    if (reqCommerceSocketMsg == null)
                    {
                        return;
                    }
                    _wabData.SendMsg(reqCommerceSocketMsg);
                    break;

                case ReqEventType.Extract:
                    socketMsg = investRequestMsg.ReqExtractInfoMsg(message);
                    if (socketMsg == null)
                    {
                        return;
                    }
                    _wabData.SendMsg(socketMsg);
                    break;

                case ReqEventType.invest_info:
                    socketMsg = investRequestMsg.ReqInvestInfoMsg(message);
                    if (socketMsg == null)
                    {
                        return;
                    }
                    _wabData.SendMsg(socketMsg);
                    break;

                case ReqEventType.GetTradeCord:
                    socketMsg = accountRequestMsg.ReqTradeRecord(message);
                    if (socketMsg == null)
                    {
                        return;
                    }
                    _wabData.SendMsg(socketMsg);
                    break;

                case ReqEventType.GetMessage:
                    socketMsg = accountRequestMsg.ReqMessage(message);
                    if (socketMsg == null)
                    {
                        return;
                    }
                    _wabData.SendMsg(socketMsg);
                    break;

                case ReqEventType.ReadState:
                    socketMsg = accountRequestMsg.ReqHasReadMessage(message);
                    if (socketMsg == null)
                    {
                        return;
                    }
                    _wabData.SendMsg(socketMsg);
                    break;

                case ReqEventType.GetLike:
                    socketMsg = friendRequestMsg.ReqLikeFriend(message);
                    if (socketMsg == null)
                    {
                        return;
                    }
                    _wabData.SendMsg(socketMsg);
                    break;

                case ReqEventType.listfriend:
                    socketMsg = friendRequestMsg.ReqFriendList(message);
                    if (socketMsg == null)
                    {
                        return;
                    }
                    _wabData.SendMsg(socketMsg);
                    break;

                case ReqEventType.exit:
                    socketMsg = accountRequestMsg.ReqExitMsg(null);
                    if (socketMsg == null)
                    {
                        return;
                    }
                    _wabData.SendMsg(socketMsg);
                    //_wabData.WebSocket.Close(1000, "Bye!");

                    // SceneManager.LoadScene("login");
                    //clean cache
                    CacheData.CleanCache();
                    break;

                default:
                    break;
                }
            }
            else
            {
                Debug.LogError("连接断开");
                StartCoroutine(ReConnect());
            }
        }