using Dm; using OASystem.Domain.ViewModels.JuHeExchangeRate; using System.Net.Http; using System.Net.Http.Json; using System.Text.Json; using Ubiety.Dns.Core; namespace OASystem.API.OAMethodLib.JuHeAPI { /// /// 聚合Api 服务 /// public class JuHeApiService: IJuHeApiService { private readonly HttpClient _httpClient; private readonly string _appKey = "0f5429e9fbb8637c0ff3f14bbb42c732"; //配置您申请的appkey /// /// 初始化 /// /// public JuHeApiService(IHttpClientFactory clientFactory) { _httpClient = clientFactory.CreateClient("PublicJuHeApi"); ; } /// /// 汇率转换 /// /// /// public async Task GetExchangeRateAsync() { var result = new JuHeAPIResult() { Resultcode = "10000",Reason="未知错误" }; string url = string.Format("/finance/exchange/rmbquot"); try { var exchangeReq = await _httpClient.PostAsync(url, new FormUrlEncodedContent(new List>() { new KeyValuePair("key",_appKey),//你申请的key new KeyValuePair("type","0"), //两种格式(0或者1,默认为0) new KeyValuePair("bank","3") //(0:工商银行,1:招商银行,2:建设银行,3:中国银行, //4:交通银行,5:农业银行,默认为:0) })); if (exchangeReq.IsSuccessStatusCode) { var stringResponse = await exchangeReq.Content.ReadAsStringAsync(); result = System.Text.Json.JsonSerializer.Deserialize(stringResponse, new JsonSerializerOptions() { PropertyNamingPolicy = JsonNamingPolicy.CamelCase }); } else { result.Reason = "汇率接口请求失败!"; } } catch (Exception ex) { result.Reason = ex.Message; } return result; } } }