mirror of
https://gitee.com/fudiwei/DotNetCore.SKIT.FlurlHttpClient.Wechat.git
synced 2025-11-10 03:14:58 +08:00
feat(wxads): 新增 Credentials 类型,存储初始化客户端时的凭证副本
This commit is contained in:
@@ -70,7 +70,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Ads
|
||||
flurlReq.SetQueryParam("adcreative_id", request.AdCreativeId.Value);
|
||||
|
||||
if (request.Filters != null && request.Filters.Any())
|
||||
flurlReq.SetQueryParam("filtering", client.FlurlJsonSerializer.Serialize(request.Filters));
|
||||
flurlReq.SetQueryParam("filtering", client.JsonSerializer.Serialize(request.Filters));
|
||||
|
||||
if (request.PageSize.HasValue)
|
||||
flurlReq.SetQueryParam("page_size", request.PageSize.Value);
|
||||
|
||||
@@ -70,7 +70,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Ads
|
||||
flurlReq.SetQueryParam("adgroup_id", request.AdGroupId.Value);
|
||||
|
||||
if (request.Filters != null && request.Filters.Any())
|
||||
flurlReq.SetQueryParam("filtering", client.FlurlJsonSerializer.Serialize(request.Filters));
|
||||
flurlReq.SetQueryParam("filtering", client.JsonSerializer.Serialize(request.Filters));
|
||||
|
||||
if (request.PageSize.HasValue)
|
||||
flurlReq.SetQueryParam("page_size", request.PageSize.Value);
|
||||
|
||||
@@ -70,7 +70,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Ads
|
||||
flurlReq.SetQueryParam("ad_id", request.AdId.Value);
|
||||
|
||||
if (request.Filters != null && request.Filters.Any())
|
||||
flurlReq.SetQueryParam("filtering", client.FlurlJsonSerializer.Serialize(request.Filters));
|
||||
flurlReq.SetQueryParam("filtering", client.JsonSerializer.Serialize(request.Filters));
|
||||
|
||||
if (request.PageSize.HasValue)
|
||||
flurlReq.SetQueryParam("page_size", request.PageSize.Value);
|
||||
|
||||
@@ -48,7 +48,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Ads
|
||||
.SetQueryParam("access_token", request.AccessToken);
|
||||
|
||||
if (request.Filters != null && request.Filters.Any())
|
||||
flurlReq.SetQueryParam("filtering", client.FlurlJsonSerializer.Serialize(request.Filters));
|
||||
flurlReq.SetQueryParam("filtering", client.JsonSerializer.Serialize(request.Filters));
|
||||
|
||||
if (request.PageSize.HasValue)
|
||||
flurlReq.SetQueryParam("page_size", request.PageSize.Value);
|
||||
|
||||
@@ -70,7 +70,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Ads
|
||||
flurlReq.SetQueryParam("campaign_id", request.CampaignId.Value);
|
||||
|
||||
if (request.Filters != null && request.Filters.Any())
|
||||
flurlReq.SetQueryParam("filtering", client.FlurlJsonSerializer.Serialize(request.Filters));
|
||||
flurlReq.SetQueryParam("filtering", client.JsonSerializer.Serialize(request.Filters));
|
||||
|
||||
if (request.PageSize.HasValue)
|
||||
flurlReq.SetQueryParam("page_size", request.PageSize.Value);
|
||||
|
||||
@@ -66,7 +66,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Ads
|
||||
.SetQueryParam("access_token", request.AccessToken);
|
||||
|
||||
if (request.DateRange != null)
|
||||
flurlReq.SetQueryParam("date_range", client.FlurlJsonSerializer.Serialize(request.DateRange));
|
||||
flurlReq.SetQueryParam("date_range", client.JsonSerializer.Serialize(request.DateRange));
|
||||
|
||||
if (!string.IsNullOrEmpty(request.TradeType))
|
||||
flurlReq.SetQueryParam("trade_type", request.TradeType);
|
||||
|
||||
@@ -75,7 +75,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Ads
|
||||
flurlReq.SetQueryParam("image_id", request.ImageId);
|
||||
|
||||
if (request.Filters != null && request.Filters.Any())
|
||||
flurlReq.SetQueryParam("filtering", client.FlurlJsonSerializer.Serialize(request.Filters));
|
||||
flurlReq.SetQueryParam("filtering", client.JsonSerializer.Serialize(request.Filters));
|
||||
|
||||
if (request.PageSize.HasValue)
|
||||
flurlReq.SetQueryParam("page_size", request.PageSize.Value);
|
||||
|
||||
@@ -29,7 +29,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Ads
|
||||
.SetQueryParam("access_token", request.AccessToken);
|
||||
|
||||
if (request.DateRange != null)
|
||||
flurlReq.SetQueryParam("date_range", client.FlurlJsonSerializer.Serialize(request.DateRange));
|
||||
flurlReq.SetQueryParam("date_range", client.JsonSerializer.Serialize(request.DateRange));
|
||||
|
||||
if (!string.IsNullOrEmpty(request.ReportType))
|
||||
flurlReq.SetQueryParam("report_type", request.ReportType);
|
||||
@@ -65,7 +65,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Ads
|
||||
.SetQueryParam("level", request.Level);
|
||||
|
||||
if (request.Filters != null && request.Filters.Any())
|
||||
flurlReq.SetQueryParam("filtering", client.FlurlJsonSerializer.Serialize(request.Filters));
|
||||
flurlReq.SetQueryParam("filtering", client.JsonSerializer.Serialize(request.Filters));
|
||||
|
||||
return await client.SendRequestWithJsonAsync<Models.RealtimeCostGetResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
|
||||
}
|
||||
|
||||
35
src/SKIT.FlurlHttpClient.Wechat.Ads/Settings/Credentials.cs
Normal file
35
src/SKIT.FlurlHttpClient.Wechat.Ads/Settings/Credentials.cs
Normal file
@@ -0,0 +1,35 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace SKIT.FlurlHttpClient.Wechat.Ads.Settings
|
||||
{
|
||||
public class Credentials
|
||||
{
|
||||
/// <summary>
|
||||
/// 初始化客户端时 <see cref="WechatAdsClientOptions.AgencyId"/> 的副本。
|
||||
/// </summary>
|
||||
public string AgencyId { get; }
|
||||
|
||||
/// <summary>
|
||||
/// 初始化客户端时 <see cref="WechatAdsClientOptions.AgencyAppId"/> 的副本。
|
||||
/// </summary>
|
||||
public string AgencyAppId { get; }
|
||||
|
||||
/// <summary>
|
||||
/// 初始化客户端时 <see cref="WechatAdsClientOptions.AgencyApiKey"/> 的副本。
|
||||
/// </summary>
|
||||
public string AgencyApiKey { get; }
|
||||
|
||||
internal Credentials(WechatAdsClientOptions options)
|
||||
{
|
||||
if (options == null) throw new ArgumentNullException(nameof(options));
|
||||
|
||||
AgencyId = options.AgencyId;
|
||||
AgencyAppId = options.AgencyAppId;
|
||||
AgencyApiKey = options.AgencyApiKey;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -18,27 +18,9 @@ namespace SKIT.FlurlHttpClient.Wechat.Ads
|
||||
public class WechatAdsClient : WechatClientBase
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取当前客户端使用的微信广告平台服务商 ID。
|
||||
/// 获取当前客户端使用的微信广告平台凭证。
|
||||
/// </summary>
|
||||
public string WechatAgencyId { get; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取当前客户端使用的微信广告平台服务商 AppId。
|
||||
/// </summary>
|
||||
public string WechatAgencyAppId { get; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取当前客户端使用的微信广告平台服务商 ApiKey。
|
||||
/// </summary>
|
||||
internal string WechatAgencyApiKey { get; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取当前客户端使用的 JSON 序列化器。
|
||||
/// </summary>
|
||||
internal ISerializer FlurlJsonSerializer
|
||||
{
|
||||
get { return FlurlClient.Settings?.JsonSerializer ?? new FlurlNewtonsoftJsonSerializer(); }
|
||||
}
|
||||
public Settings.Credentials Credentials { get; }
|
||||
|
||||
/// <summary>
|
||||
/// 用指定的配置项初始化 <see cref="WechatAdsClient"/> 类的新实例。
|
||||
@@ -49,9 +31,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Ads
|
||||
{
|
||||
if (options == null) throw new ArgumentNullException(nameof(options));
|
||||
|
||||
WechatAgencyId = options.AgencyId;
|
||||
WechatAgencyAppId = options.AgencyAppId;
|
||||
WechatAgencyApiKey = options.AgencyApiKey;
|
||||
Credentials = new Settings.Credentials(options);
|
||||
|
||||
FlurlClient.BaseUrl = options.Endpoints ?? WechatAdsEndpoints.DEFAULT;
|
||||
FlurlClient.WithTimeout(TimeSpan.FromMilliseconds(options.Timeout));
|
||||
|
||||
Reference in New Issue
Block a user