Пример #1
0
        /// <summary>
        /// 初始化请求类库实例
        /// </summary>
        /// <param name="config">config</param>
        private void InitRequestInstance(YouzikuPlusConfig config)
        {
            switch (config.RequestBehavior)
            {
            case RequestBehaviorEnum.HttpClient:
                HttpRequestPlusClient = new TPlusHttpClient();
                break;

            case RequestBehaviorEnum.HttpWebRequest:
                HttpRequestPlusClient = new TPlusWebRequest();
                break;
            }
        }
Пример #2
0
 /// <summary>
 /// 构造一个YouzikuServicePlusClient
 /// </summary>
 /// <param name="apiKey">apiKey</param>
 /// <param name="host">host</param>
 public YouzikuServicePlusClient(string apiKey, string host = YouzikuServiceClientPlusHostString.Http)
 {
     if (string.IsNullOrEmpty(host))
     {
         throw new ArgumentException(nameof(YouzikuPlusConfig) + " field host is null or Empty!");
     }
     if (string.IsNullOrEmpty(apiKey))
     {
         throw new ArgumentException(nameof(YouzikuPlusConfig) + " field ApiKey is null or Empty!");
     }
     this._config = new YouzikuPlusConfig {
         Host = host.Trim(), ApiKey = apiKey.Trim()
     };
     InitRequestInstance();
 }
Пример #3
0
        /// <summary>
        /// 构造一个YouzikuClient
        /// </summary>
        /// <param name="apiKey">apiKey</param>
        /// <param name="useHttps">host</param>
        public YouzikuServicePlusClient(string apiKey, bool useHttps)
        {
            if (string.IsNullOrEmpty(apiKey))
            {
                throw new ArgumentException(nameof(YouzikuPlusConfig) + " field ApiKey is null or Empty!");
            }
            this._config = new YouzikuPlusConfig {
                Host = useHttps ? YouzikuServiceClientPlusHostString.Https : YouzikuServiceClientPlusHostString.Http, ApiKey = apiKey.Trim(), UseHttps = useHttps
            };
            InitRequestInstance(this._config);

            if (useHttps)
            {
                YouzikuPlusGlobal.Config.UseHttps();
            }
        }
Пример #4
0
 /// <summary>
 /// 构造一个YouzikuServicePlusClient
 /// </summary>
 /// <param name="config">config</param>
 public YouzikuServicePlusClient(YouzikuPlusConfig config)
 {
     if (config == null)
     {
         throw new ArgumentException(nameof(YouzikuPlusConfig) + " instance is null!");
     }
     if (string.IsNullOrEmpty(config.Host))
     {
         throw new ArgumentException(nameof(YouzikuPlusConfig) + " field Url is null or Empty!");
     }
     if (string.IsNullOrEmpty(config.ApiKey))
     {
         throw new ArgumentException(nameof(YouzikuPlusConfig) + " field ApiKey is null or Empty!");
     }
     this._config = config;
     InitRequestInstance();
 }
        /// <summary>
        /// GetScopeFontface接口
        /// </summary>
        /// <param name="param">param</param>
        /// <param name="config">config</param>
        /// <returns></returns>
        public static IDictionary <string, string> GetRamUnicodeScopeFontface(RamUnicodeScopeFontApiParam param, YouzikuPlusConfig config)
        {
            PlusParamValidate.GetRamUnicodeScopeFontface(param);
            var paramDic = new Dictionary <string, string>
            {
                { "ApiKey", config.ApiKey },
                { "AccessKey", param.AccessKey },
                { "Content", param.Content.Replace("&", string.Empty) },
                { "Text", param.Text },
                { "Tag", param.Tag },
                { "UseRanFontFamily", param.UseRanFontFamily.ToString() },
                { "Option[RanNumber]", param.Option.RanNumber.ToString() },
                { "Option[RanEnglish]", param.Option.RanEnglish.ToString() },
                { "Option[RanChinese]", param.Option.RanChinese.ToString() }
            };

            return(paramDic);
        }
Пример #6
0
        /// <summary>
        /// 通用请求CommonGetFontFaceAsync
        /// </summary>
        /// <param name="paramDic">请求参数</param>
        /// <param name="url">接口路径</param>
        /// <param name="config">config</param>
        /// <returns></returns>
        protected async Task <TResult> CommonGetFontFaceAsync <TResult>(IDictionary <string, string> paramDic, string url, YouzikuPlusConfig config) where TResult : class, new()
        {
            try
            {
                var jsonResult = await HttpRequestPlusClient.RequestAsync(url, TPlusHttpMethod.Post, paramDic, config.TimeOut);

                if (string.IsNullOrEmpty(jsonResult))
                {
                    throw new ArgumentException("接口响应null或Empty!");
                }
                return(new JavaScriptSerializer().Deserialize <TResult>(jsonResult));
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }