Beispiel #1
0
 /// <summary>
 /// 返回调用结果,可能抛出异常;
 /// </summary>
 /// <param name="api"></param>
 /// <returns></returns>
 public TResult Invoke(YouzanConfig config)
 {
     if (this.APIParams == null)
     {
         throw new Exception("未指定参数 :  APIParams ");
     }
     return(this.Invoke(config, this.APIParams));
 }
Beispiel #2
0
        /// <summary>
        /// 返回调用结果,可能抛出异常;
        /// </summary>
        /// <param name="api"></param>
        /// <returns></returns>
        internal TResult Invoke(YouzanConfig config, TParam param)
        {
            YZClient yzClient = new DefaultYZClient(config.Token);
            //var param = this.APIParams;
            var @params = param.toParams();
            List <KeyValuePair <string, string> > files = null;

            if (this.hasFiles())
            {
                files = ((FileParams)this.APIParams).toFileParams().Select(a => a.Value.Data).ToList();
            }
            var result = yzClient.Invoke(this.Name, this.Version, this.HttpMethod, @params, files);
            JsonSerializerSettings setting = new JsonSerializerSettings();

            setting.NullValueHandling = NullValueHandling.Ignore;
            var wrapper = JsonConvert.DeserializeObject <TResultWrapper <TResult> >(result, setting);

            if (wrapper.error_response != null)
            {
                throw new Exception(string.Format("错误响应:代码:{0}, 消息{1}", wrapper.error_response.code, wrapper.error_response.msg));
            }
            return(wrapper.response);
        }
Beispiel #3
0
 public void TestCleanup()
 {
     youzanConfig = null;
 }
Beispiel #4
0
 public void TestInitiate()
 {
     YouzanConfig youzanConfig = new YouzanConfig {
         AppId = "Appid1", AppSecret = "AppSecret1", KdtId = "KdtId1"
     };
 }