/// <summary> /// 处理接收发送数据 /// </summary> /// <param name="type">发送类型</param> /// <param name="data">发送数据</param> public static void processResponseData(string route, int index, int status, string errmsg, JsonData data) { var sys = Get(); RequestObject req = sys.popRequestObject(route, index); RequestObject.SuccessAction onSuccess = req.onSuccess; RequestObject.ErrorAction onError = req.onError; // 如果没有剩下的 ReqObj 了,清除加载窗口 if (!sys.hasRequestObject()) { sys.gameSys.requestLoadEnd(); } if (req == null) { throw new GameException( GameException.Type.RequestObjectNotFound, onError); } if (status > 0) { throw new GameException(status, errmsg, onError); } onSuccess?.Invoke(data); }
// 配置请求对象属性 #region 配置请求配置 /// <summary> /// 统一配置回调参数 /// </summary> /// <param name="success">成功回调</param> /// <param name="error">错误回调</param> /// <param name="show">是否显示加载</param> /// <param name="tips">加载提示文本</param> public void setup( RequestObject.SuccessAction success = null, RequestObject.ErrorAction error = null, bool show = true, string tips = "") { successHandler = success; errorHandler = error; showLoading = show; tipsText = tips; }
/// <summary> /// 配置并发送请求对象 /// </summary> /// <param name="route">路由</param> /// <param name="data">数据</param> /// <param name="success">成功回调</param> /// <param name="error">错误回调</param> /// <param name="show">是否显示加载</param> /// <param name="tips">加载提示文本</param> /// <param name="emit">是否为发射数据</param> public void setupRequest(string route, JsonData data = null, RequestObject.SuccessAction success = null, RequestObject.ErrorAction error = null, bool show = true, string tips = "", bool emit = false) { if (emit == true) { postEmit(route, data); } else { setup(success, error, show, tips); postRequest(route, data); } }
/// <summary> /// 处理处理错误(有action的错误) /// </summary> /// <param name="code">错误码</param> /// <param name="errmsg">错误信息</param> void handleProcessError(int code, string errmsg, RequestObject.ErrorAction action = null) { action = action ?? DefaultErrorHandler; action.Invoke(code, errmsg); }
/// <summary> /// 配置并添加请求 /// </summary> /// <param name="route">路由</param> /// <param name="success">成功回调</param> /// <param name="error">错误回调</param> /// <param name="show">是否显示加载</param> /// <param name="tips">加载提示文本</param> RequestObject pushRequestObject(string route, JsonData data, RequestObject.SuccessAction success = null, RequestObject.ErrorAction error = null, bool show = true, string tips = "") { return(pushRequestObject(route, new RequestObject(data, success, error, show, tips))); }