/// <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)); }
/// <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); }
public void TestCleanup() { youzanConfig = null; }
public void TestInitiate() { YouzanConfig youzanConfig = new YouzanConfig { AppId = "Appid1", AppSecret = "AppSecret1", KdtId = "KdtId1" }; }