コード例 #1
0
        /// <summary>
        ///     POST提交请求,上传文件,返回ApiResult对象
        /// </summary>
        /// <typeparam name="T">ApiResult对象</typeparam>
        /// <param name="url">请求地址</param>
        /// <param name="fileName">文件名称</param>
        /// <param name="fileStream">文件流</param>
        /// <returns></returns>
        protected T Post <T>(string url, string fileName, Stream fileStream) where T : ApiOutput
        {
            var wr  = new WeChatApiWebRequestHelper();
            var obj = wr.HttpPost <T>(url, fileName, fileStream, out var result);

            if (obj != null)
            {
                obj.DetailResult = result;
            }
            RefreshAccessTokenWhenTimeOut(obj);
            return(obj);
        }
コード例 #2
0
        /// <summary>
        ///     POST提交请求,返回ApiResult对象
        /// </summary>
        /// <typeparam name="T">ApiResult对象</typeparam>
        /// <param name="url">请求地址</param>
        /// <param name="obj">提交的数据对象</param>
        /// <param name="serializeStrFunc"></param>
        /// <returns>ApiResult对象</returns>
        protected T Post <T>(string url, object obj, Func <string, string> serializeStrFunc = null) where T : ApiOutput
        {
            var wr     = new WeChatApiWebRequestHelper();
            var result = wr.HttpPost <T>(url, obj, out string resultStr);

            if (result != null)
            {
                result.DetailResult = resultStr;
            }
            RefreshAccessTokenWhenTimeOut(result);
            return(result);
        }
コード例 #3
0
        /// <summary>
        ///     POST提交请求,返回ApiResult对象
        /// </summary>
        /// <typeparam name="T">ApiResult对象</typeparam>
        /// <param name="url">请求地址</param>
        /// <param name="obj">提交的数据对象</param>
        /// <returns>ApiResult对象</returns>
        protected T PostXML <T>(string url, object obj, Func <string, string> serializeStrFunc = null) where T : PayResult
        {
            var    wr        = new WeChatApiWebRequestHelper();
            string resultStr = null;
            var    result    = wr.HttpPost <T>(url, obj, out resultStr, serializeStrFunc,
                                               WebRequestDataTypes.XML, WebRequestDataTypes.XML);

            if (result != null)
            {
                result.DetailResult = resultStr;
            }
            return(result);
        }
コード例 #4
0
        /// <summary>
        ///     POST提交请求,返回ApiResult对象
        /// </summary>
        /// <typeparam name="T">ApiResult对象</typeparam>
        /// <param name="url">请求地址</param>
        /// <param name="jsonData">提交的数据</param>
        /// <returns>ApiResult对象</returns>
        protected T Post <T>(string url, string jsonData) where T : ApiResult
        {
            var wr     = new WeChatApiWebRequestHelper();
            var result = wr.HttpPost(url, jsonData);
            var obj    = JsonConvert.DeserializeObject <T>(result);

            if (obj != null)
            {
                obj.DetailResult = result;
            }
            RefreshAccessTokenWhenTimeOut(obj);
            return(obj);
        }
コード例 #5
0
        /// <summary>
        ///     POST提交请求,返回ApiResult对象
        /// </summary>
        /// <typeparam name="T">ApiResult对象</typeparam>
        /// <param name="url">请求地址</param>
        /// <param name="jsonData">提交的数据</param>
        /// <returns>ApiResult对象</returns>
        protected T Post <T>(string url, string jsonData) where T : ApiOutput
        {
            var wr = new WeChatApiWebRequestHelper();

            WeChatHelper.LoggerAction?.Invoke("api", string.Format("Pre POST Url:{0};JSON:{1};", url, jsonData));
            var result = wr.HttpPost(url, jsonData);
            var obj    = JsonConvert.DeserializeObject <T>(result);

            if (obj != null)
            {
                obj.DetailResult = result;
            }
            RefreshAccessTokenWhenTimeOut(obj);
            return(obj);
        }