This commit is contained in:
六如
2024-12-02 23:03:25 +08:00
parent c0cfdbafd9
commit 942826f4b0
107 changed files with 247 additions and 3432 deletions

View File

@@ -177,7 +177,7 @@ namespace SDKCSharp.Client
/// <typeparam name="T">返回的Response类</typeparam>
/// <param name="request">请求对象</param>
/// <returns>返回Response类</returns>
public virtual T Execute<T>(BaseRequest<T> request) where T : BaseResponse
public virtual Result<T> Execute<T>(BaseRequest<T> request)
{
return this.Execute<T>(request, null);
}
@@ -189,7 +189,7 @@ namespace SDKCSharp.Client
/// <param name="request">请求对象</param>
/// <param name="accessToken">accessToken</param>
/// <returns>返回Response类</returns>
public virtual T Execute<T>(BaseRequest<T> request, string accessToken) where T : BaseResponse
public virtual Result<T> Execute<T>(BaseRequest<T> request, string accessToken)
{
RequestForm requestForm = request.CreateRequestForm(this.openConfig);
Dictionary<string, string> form = requestForm.Form;
@@ -225,18 +225,12 @@ namespace SDKCSharp.Client
/// <param name="resp">服务器响应内容</param>
/// <param name="request">请求Request</param>
/// <returns>返回Response</returns>
protected virtual T ParseResponse<T>(string resp, BaseRequest<T> request) where T: BaseResponse
protected virtual Result<T> ParseResponse<T>(string resp, BaseRequest<T> request)
{
string method = request.Method;
string rootNodeName = this.dataNameBuilder.Build(method);
string errorRootNode = openConfig.ErrorResponseName;
Dictionary<string, object> responseData = JsonUtil.ParseToDictionary(resp);
bool errorResponse = responseData.ContainsKey(errorRootNode);
if (errorResponse)
{
rootNodeName = errorRootNode;
}
object data = responseData[rootNodeName];
object data = responseData.GetValueOrDefault(rootNodeName, null);
responseData.TryGetValue(openConfig.SignName, out object sign);
if (sign != null && !string.IsNullOrEmpty(publicKeyPlatform))
{
@@ -247,10 +241,8 @@ namespace SDKCSharp.Client
data = JsonUtil.ToJSONString(checkSignErrorResponse);
}
}
string jsonData = data == null ? "{}" : data.ToString();
T t = JsonUtil.ParseObject<T>(jsonData);
t.Body = jsonData;
return t;
Result<T> result = JsonUtil.ParseObject<Result<T>>(resp);
return result;
}
/// <summary>