/// <summary> /// 登陆成功的回调 /// </summary> /// <param name="_rpcResultObj"></param> private void onLoginRequestFinish(SnapRpcDataVO _rpcResultObj) { JsonData data = _rpcResultObj.data; if (_rpcResultObj.code == 1) { LogManager.Log("登录成功!!!!"); GlobalConst.LoginToApp = true; SelfPlayerData.UserName = _userName; SelfPlayerData.Password = _pwd; SnapHttpConfig.LOGINED_APP_TOKEN = data["token"].ToString(); GlobalConst.Player_ID = data.TryGetString("appUserID"); GlobalConst.Player_IDTemp = data.TryGetString("uid"); SelfPlayerData.Uuid = data.TryGetString("uid"); SelfPlayerData.DeviceID = PlayerPrefs.GetString("DeviceID"); //GlobalConst.CurrentServerTime = (long)data["currentTime"]; GetLoginUserInfo(); } else if (_rpcResultObj.code == RpcDataCode.AccoutLock) { PromptManager.Instance.MessageBox(PromptManager.Type.FloatingTip, "帐号被锁定,请联系客服人员"); } else if (_rpcResultObj.code == RpcDataCode.PasswordError) { PromptManager.Instance.MessageBox(PromptManager.Type.FloatingTip, "密码输入有误"); } if (_loginActionCallBack != null) { _loginActionCallBack.Invoke(_rpcResultObj.code); } }
protected void RequestUserVoCallback(SnapRpcDataVO _rpcResultObj) { if (_rpcResultObj.status == true) { UserVoProxy.instance().FinishItemRequest(this); JsonData userData = _rpcResultObj.data["user"]; UserVoBasic userVo = UserVoProxy.instance().formatVo(userData); //把自己登陆的信息扔份数据给SelfPlayerData if (userData["id"].ToString() == GlobalConst.Player_IDTemp) { GameUserService.SaveGameUser(userData); LogManager.Log("登录用户的模型ID" + _rpcResultObj.data.TryGetString("modelID")); LogManager.Log("登录用户的表情ID" + _rpcResultObj.data.TryGetString("emotionID")); LogManager.Log("登录用户的省份" + userData.TryGetString("province")); LogManager.Log("登录用户的城市" + userData.TryGetString("city")); SelfPlayerData.Country = int.Parse(userData.TryGetString("country")); if (DebugConfigController.Instance._debugLanguage == false) { LanguageManager.languageType = SelfPlayerData.Country == 0 ? LanguageType.Chinese : LanguageType.English; } else { if (DebugConfigController.Instance._isChinese) { LanguageManager.languageType = LanguageType.Chinese; } else { LanguageManager.languageType = LanguageType.English; } } XunFeiSRManager.OnRuntimeMethodLoad(LanguageManager.languageType); SelfPlayerData.Province = userData.TryGetString("province"); SelfPlayerData.City = userData.TryGetString("city"); SelfPlayerData.ModelId = _rpcResultObj.data.TryGetString("modelID"); SelfPlayerData.EmotionId = _rpcResultObj.data.TryGetString("emotionID"); BookSceneManager.GetCourseFormServer(); if (SelfPlayerData.ModelId.Equals("0") || SelfPlayerData.EmotionId.Equals("0")) { //用户还没创建角色则更新角色信息到服务器 RoleManager.Instance.SbmitRoleInfoToServer(); } else { //已经创建过角色了则已经是第二次登录了直接进选关界面 LogManager.Log(SceneManager.GetActiveScene().name); if (SceneManager.GetActiveScene().name.Equals("LoginScene")) { LoadSceneManager.Instance.LoadNormalScene("BookScene"); } } } if (mCallback != null) { mCallback(userVo); mCallback = null; } } }
private static void RegisterUserCallback(SnapRpcDataVO rpcData) { if (mRegisterUserCallback != null) { mRegisterUserCallback(rpcData); mRegisterUserCallback = null; } }
private static void CheckUserNameCallback(SnapRpcDataVO rpcData) { if (mCheckUserNameCallback != null) { mCheckUserNameCallback(rpcData); mCheckUserNameCallback = null; } }
private static void VerifyTransactionCallback(SnapRpcDataVO rpcData) { if (mRequestGoodsInfoCallback != null) { mRequestGoodsInfoCallback(rpcData); mRequestGoodsInfoCallback = null; } }
private static void RequestGoodsInfoCallback(SnapRpcDataVO rpcData) { if (mRequestGoodsInfoCallback != null) { mRequestGoodsInfoCallback(rpcData); mRequestGoodsInfoCallback = null; } }
public void AddOneHttpCallBack(Action <SnapRpcDataVO> action, SnapRpcDataVO data) { SnapHttpCallBack http = new SnapHttpCallBack(); http.actionCallBack = action; http.dataVO = data; callBackList.Add(http); }
private void uploadFileSuccess(SnapRpcDataVO resultVo) { string result = resultVo.data["uploadUrl"].ToString(); if (_resultAction != null) { _resultAction.Invoke(result); } }
private void checkUserNameCallback(SnapRpcDataVO rpcResultObj) { if (rpcResultObj.code == RpcDataCode.RequestFinish) { //if (rpcResultObj.data.IsArray) //{ //用户名可用 if (rpcResultObj.data == null) { mUserNameIsOk = true; } else { mUserNameIsOk = false; if (rpcResultObj.data.IsArray) { //推荐用户名 if (rpcResultObj.data.Count > 1 && ((string)rpcResultObj.data[0]).Length < 11) { onShowRecemmendName((string)rpcResultObj.data[0], (string)rpcResultObj.data[1]); } else { PromptManager.Instance.MessageBox(PromptManager.Type.FloatingTip, "用户名已注册"); } } else { PromptManager.Instance.MessageBox(PromptManager.Type.FloatingTip, "用户名已注册"); } } //} //else //{ // mUserNameIsOk = false; // PromptManager.Instance.MessageBox(PromptManager.Type.FloatingTip, "用户名已注册"); //} } //用户名不合法 || 激活码不能做用户名 else if (rpcResultObj.code == RpcDataCode.NameDirty || rpcResultObj.code == RpcDataCode.NameActivation) { mUserNameIsOk = false; PromptManager.Instance.MessageBox(PromptManager.Type.FloatingTip, "用户名包含非法内容,请更换"); } else { //用户名可用 mUserNameIsOk = true; } RegisterLogin(); checkIsCanRegister(); }
private void CheckResponseError(SnapRpcDataVO rpcData) { if (!rpcData.status) { LogManager.LogError("[HttpRequest]Check Response Error! error code: " , rpcData.code, ", err message: ", rpcData.message); if (rpcData.code == (int)HttpErrorCode.LoginTokenError) { GameManager.LoginOnOtherDivices(false); } } SnapHttpManager.getInstance().AddOneHttpCallBack(httpRequestVO.requestBackAction, rpcData); }
private static void LoadUserVoCallback(SnapRpcDataVO rpcData) { if (rpcData.status == true) { LogManager.Log("更新信息成功"); } else { LogManager.Log("更新信息失败:", rpcData.code, "(", rpcData.message, ")"); } if (mLoadUserVoCallback != null) { mLoadUserVoCallback(rpcData); mLoadUserVoCallback = null; } }
public static LevelScroesObject levelObject(SnapRpcDataVO vo) { LevelScroesObject scoresObj = new LevelScroesObject(); scoresObj.status = vo.status; scoresObj.message = vo.message; if (vo.data != null) { LogManager.Log("获取排行榜时服务器返回数据:", vo.data.ToJson()); } if (vo.data != null && ((IDictionary)vo.data).Keys.Count > 0) { string jsonString = JsonMapper.ToJson(vo.data); LevelScroesObject.Data scoreData = JsonUtility.FromJson <LevelScroesObject.Data>(jsonString); scoresObj.data = scoreData; } return(scoresObj); }
/// <summary> /// 处理注册的结果 /// </summary> /// <param name="rpcResultObj"></param> private void registerUserCallback(SnapRpcDataVO rpcResultObj) { if (rpcResultObj.code == RpcDataCode.RequestFinish) { RegisterConfig.Temp_UserName = mUserNameImportTF.text; RegisterConfig.Temp_UserPassword = mUserPasswordTF.text; LogManager.Log("注册成功"); AnalysisManager.Instance.OnEvent("register", null); afterRegisterDelgate(RegisterConfig.Temp_UserName, RegisterConfig.Temp_UserPassword); onCloseNodeHandle(); mSubmitBtn.enabled = true; } else { //注册未成功 PromptManager.Instance.MessageBox(PromptManager.Type.FloatingTip, "系统繁忙,请稍后再试"); } }
/// <summary> /// 验证结果 /// </summary> /// <param name="rpcResultObj"></param> private void VerifyTransactionResultCallback(SnapRpcDataVO rpcResultObj) { StopTimeoutTimer(); JsonData data = rpcResultObj.data; if (rpcResultObj.code == RpcDataCode.RequestFinish) { string logStr = "验证完成, 有效交易:" + rpcResultObj.code + "(" + rpcResultObj.message + ")"; if (Manager) { Manager.log(logStr); } LogManager.Log(logStr); if (Manager) { Manager.BuyFinishGoToGameLoic(); } } else { string logStr = "验证失败, 无效交易:" + rpcResultObj.code + "(" + rpcResultObj.message + ")"; if (Manager) { Manager.log(logStr); } LogManager.Log(logStr); } //!!! Item漏单处理完毕 //收据验证完成, 清除本地 RemoveItemIAPTransaction(CurrentVerifyTransaction.userID, CurrentVerifyTransaction.transactionID); CurrentVerifyTransaction = null; //继续巡查 VerifyItemTransaction(); if (Manager) { Manager.clear(); } }
/// <summary> /// 请求商品信息 /// </summary> /// <param name="rpcResultObj"></param> private void RequestGoodsInfoCallback(SnapRpcDataVO rpcResultObj) { if (CurrentIsDispose) { return; } JsonData data = rpcResultObj.data; if (rpcResultObj.code == RpcDataCode.RequestFinish) { GoodsPublisServer = new List <ServerGoodsInfo> (); for (int i = 0; i < data.Count; i++) { ServerGoodsInfo item = new ServerGoodsInfo(); item.GoodsID = (string)data[i]["appleGoodsId"]; item.GoodsSnapID = (string)data[i]["id"]; item.GoodsIconUrl = (string)data[i]["icon"]; item.GoodsLvInt = (int)data[i]["courseNum"]; item.GoodsSnapType = (int)data[i]["itemType"]; item.GoodsIsBuyed = (Boolean)data[i]["isBuy"]; GoodsPublisServer.Add(item); } IAPProxy.Instance().InitializeIAP(GoodsPublisServer, InitializeUI); string logStr = "请求商品信息成功:" + JsonMapper.ToJson(data); log(logStr); } else { PromptManager.Instance.MessageBox(PromptManager.Type.FloatingTip, "支付通信失败,请稍后重试"); string logStr = "请求商品信息失败:" + JsonMapper.ToJson(data); log(logStr); } }
public static HttpWebRequest PutRequest(SnapRequestVO vo, Action <SnapRpcDataVO> callback = null) { string request_url = GetHttpURL(vo); if (string.IsNullOrEmpty(request_url)) { request_url = SnapHttpConfig.NET_APP_URL; } byte[] body = vo.toByte(); HttpWebRequest request = (HttpWebRequest)WebRequest.Create(request_url); request.Proxy = null; //LogManager.Log(request.RequestUri); request.Method = SnapHttpConfig.NET_REQUEST_PUT; request.Timeout = 600 * 1000; request.ReadWriteTimeout = 600 * 1000; request.ContentType = SnapAppUploadFile.OSS_ContentType; request.ContentLength = body.Length; if (vo.mp3byte != null && vo.mp3byte.Length > 0) { MethodInfo priMethod = request.Headers.GetType().GetMethod("AddWithoutValidate", BindingFlags.Instance | BindingFlags.NonPublic); priMethod.Invoke(request.Headers, new[] { "Date", SnapAppUploadFile.OSS_Date }); priMethod.Invoke(request.Headers, new[] { "Content-Length", body.Length.ToString() }); priMethod.Invoke(request.Headers, new[] { "Content-Type", SnapAppUploadFile.OSS_ContentType }); request.Headers.Add("Authorization", SnapAppUploadFile.OSS_Authorization); } else { request.Headers.Add("Token", SnapHttpConfig.NOT_LOGINED_APP_TOKEN); request.Headers.Add("UserToken", SnapHttpConfig.LOGINED_APP_TOKEN); } try { if (body != null && body.Length > 0) { using (Stream stream = request.GetRequestStream()) { stream.Write(body, 0, body.Length); stream.Flush(); stream.Close(); } } if (callback != null) { //音频文件 using (HttpWebResponse response = (HttpWebResponse)request.GetResponse()) { if (response.StatusCode == HttpStatusCode.OK) { using (StreamReader reader = new StreamReader(response.GetResponseStream())) { SnapRpcDataVO rpcData = new SnapRpcDataVO(); rpcData.code = 1; rpcData.message = "request success"; rpcData.data = new JsonData(); rpcData.data["uploadUrl"] = response.ResponseUri.AbsolutePath; //if (callback != null) //{ // callback.Invoke(rpcData); // callback = null; //} SnapHttpManager.getInstance().AddOneHttpCallBack(callback, rpcData); reader.Close(); } } response.Close(); request.Abort(); } } } catch (Exception ex) { LogManager.Log(ex.Message); throw; } return(request); }
/// <summary> /// 获取http请求返回的数据 /// </summary> private void GetHttpResponse(IAsyncResult result) { HttpWebRequest req = (HttpWebRequest)result.AsyncState; using (response = (HttpWebResponse)req.GetResponse()) { GetServerTime(response.Headers); if (response.StatusCode == HttpStatusCode.OK) { using (StreamReader reader = new StreamReader(response.GetResponseStream())) { JsonData jsonData = JsonMapper.ToObject(new JsonReader(reader.ReadToEnd())); SnapRpcDataVO rpcData = new SnapRpcDataVO(); if (jsonData != null) { rpcData.action = httpRequestVO.requestAction; rpcData.data = jsonData["data"]; rpcData.status = (bool)jsonData["status"]; if (rpcData.status == true) { rpcData.code = 1; } else { rpcData.code = int.Parse(jsonData.TryGetString("code")); } rpcData.message = jsonData["message"].ToString(); } close(); LogManager.LogWarning(" - Result:", JsonMapper.ToJson(jsonData)); CheckResponseError(rpcData); //if (httpRequestVO.requestBackAction != null) //{ // httpRequestVO.requestBackAction.Invoke(rpcData); // httpRequestVO.requestBackAction = null; //} } } else { LogManager.Log(response.StatusCode); close(); if (response.StatusCode == HttpStatusCode.RequestTimeout || response.StatusCode == HttpStatusCode.GatewayTimeout) { //需要重新请求的错误异常 if (needReload) { LogManager.Log("reconnect"); if (httpRequestVO.requestErrCount < SnapHttpConfig.NET_RETRY_NUM) { httpRequestVO.requestErrCount++; SnapHttpManager.getInstance().Re_Request_SnapAppApi_Inner(httpRequestVO); } } } else { //全局异常 if (SnapAppApi.RequestErrorCodeBack != null) { SnapAppApi.RequestErrorCodeBack.Invoke((int)response.StatusCode); } } } } }