Example #1
0
        /// <summary>
        /// 初始化请求类库实例
        /// </summary>
        /// <param name="config">config</param>
        private void InitRequestInstance(YouzikuConfig config)
        {
            switch (config.RequestBehavior)
            {
            case RequestBehaviorEnum.HttpClient:
                HttpRequestClient = new THttpClient();
                break;

            case RequestBehaviorEnum.HttpWebRequest:
                HttpRequestClient = new TWebRequest();
                break;
            }
        }
Example #2
0
        /// <summary>
        /// GetFontface接口
        /// </summary>
        /// <param name="param">param</param>
        /// <param name="config">config</param>
        /// <returns></returns>
        public static IDictionary <string, string> GetFontface(FontFaceParam param, YouzikuConfig config)
        {
            ParamValidate.GetFontface(param);
            var paramDic = new Dictionary <string, string>
            {
                { "ApiKey", config.ApiKey },
                { "AccessKey", param.AccessKey },
                { "Content", param.Content.Replace("&", string.Empty) },
                { "Tag", param.Tag },
                { "UseRanFontFamily", param.UseRanFontFamily.ToString() }
            };

            return(paramDic);
        }
Example #3
0
 /// <summary>
 /// 构造一个YouzikuClient
 /// </summary>
 /// <param name="apiKey">apiKey</param>
 /// <param name="host">host</param>
 public YouzikuServiceClient(string apiKey, string host = YouzikuServiceClientHostString.Http)
 {
     if (string.IsNullOrWhiteSpace(host))
     {
         throw new ArgumentException(nameof(YouzikuConfig) + " field host is null or Empty!");
     }
     if (string.IsNullOrWhiteSpace(apiKey))
     {
         throw new ArgumentException(nameof(YouzikuConfig) + " field ApiKey is null or Empty!");
     }
     this._config = new YouzikuConfig {
         Host = host.Trim(), ApiKey = apiKey.Trim()
     };
     InitRequestInstance(this._config);
 }
Example #4
0
        /// <summary>
        /// 构造一个YouzikuClient
        /// </summary>
        /// <param name="apiKey">apiKey</param>
        /// <param name="useHttps">host</param>
        public YouzikuServiceClient(string apiKey, bool useHttps)
        {
            if (string.IsNullOrEmpty(apiKey))
            {
                throw new ArgumentException(nameof(YouzikuConfig) + " field ApiKey is null or Empty!");
            }
            this._config = new YouzikuConfig {
                Host = useHttps ? YouzikuServiceClientHostString.Https : YouzikuServiceClientHostString.Http, ApiKey = apiKey.Trim(), UseHttps = useHttps
            };
            InitRequestInstance(this._config);

            if (useHttps)
            {
                YouzikuGlobal.Config.UseHttps();
            }
        }
Example #5
0
 /// <summary>
 /// 构造一个YouzikuClient
 /// </summary>
 /// <param name="config">config</param>
 public YouzikuServiceClient(YouzikuConfig config)
 {
     if (config == null)
     {
         throw new ArgumentException(nameof(YouzikuConfig) + " instance is null!");
     }
     if (string.IsNullOrEmpty(config.Host))
     {
         throw new ArgumentException(nameof(YouzikuConfig) + " field Url is null or Empty!");
     }
     if (string.IsNullOrEmpty(config.ApiKey))
     {
         throw new ArgumentException(nameof(YouzikuConfig) + " field ApiKey is null or Empty!");
     }
     this._config = config;
     InitRequestInstance();
 }
Example #6
0
        /// <summary>
        /// GetCustomPathFontFace 自定义路径接口
        /// </summary>
        /// <param name="param">param</param>
        /// <param name="config">config</param>
        /// <returns></returns>
        public static IDictionary <string, string> GetCustomPathFontFace(BatchCustomPathWoffFontFaceParam param, YouzikuConfig config)
        {
            ParamValidate.CreateCustomPathBatchWoffWebFont(param);
            //builder batch param
            var paramDic = new Dictionary <string, string>
            {
                { "ApiKey", config.ApiKey }
            };

            for (var i = 0; i < param.Datas.Count; i++)
            {
                paramDic.Add($"Datas[{i}][AccessKey]", param.Datas[i].AccessKey);
                paramDic.Add($"Datas[{i}][Url]", param.Datas[i].Url);
                paramDic.Add($"Datas[{i}][Content]", param.Datas[i].Content.Replace("&", string.Empty));
            }

            return(paramDic);
        }
Example #7
0
        /// <summary>
        /// GetBatchFontFace接口
        /// </summary>
        /// <param name="param">param</param>
        /// <param name="config">config</param>
        /// <returns></returns>
        public static IDictionary <string, string> GetBatchFontFace(BatchFontFaceParam param, YouzikuConfig config)
        {
            ParamValidate.GetBatchFontFace(param);
            //builder batch param
            var paramDic = new Dictionary <string, string>
            {
                { "ApiKey", config.ApiKey }
            };

            for (var i = 0; i < param.Tags.Count; i++)
            {
                paramDic.Add($"Tags[{i}][AccessKey]", param.Tags[i].AccessKey);
                paramDic.Add($"Tags[{i}][Tag]", param.Tags[i].Tag);
                paramDic.Add($"Tags[{i}][Content]", param.Tags[i].Content.Replace("&", string.Empty));
                paramDic.Add($"Tags[{i}][UseRanFontFamily]", param.Tags[i].UseRanFontFamily.ToString());
            }

            return(paramDic);
        }
Example #8
0
 /// <summary>
 /// 通用请求GetFontFace
 /// </summary>
 /// <param name="paramDic">请求参数</param>
 /// <param name="url">接口路径</param>
 /// <param name="config">config</param>
 /// <returns></returns>
 protected TResult CommonGetFontFace <TResult>(IDictionary <string, string> paramDic, string url, YouzikuConfig config) where TResult : class, new()
 {
     try
     {
         var jsonResult = HttpRequestClient.Request(url, THttpMethod.Post, paramDic, config.TimeOut);
         if (string.IsNullOrEmpty(jsonResult))
         {
             throw new ArgumentException("接口响应null或Empty!");
         }
         return(new JavaScriptSerializer().Deserialize <TResult>(jsonResult));
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }