using HTEXLib.COMM.Helpers; using Microsoft.AspNetCore.Hosting; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; using Microsoft.Extensions.Options; using OpenXmlPowerTools; using System; using System.Collections.Generic; using System.Dynamic; using System.IO; using System.Linq; using System.Net; using System.Net.Http; using System.Net.Http.Json; using System.Security.Policy; using System.Text; using System.Text.Json; using System.Threading.Tasks; using TEAMModelOS.Models; using TEAMModelOS.SDK.DI; using TEAMModelOS.SDK.DI.CoreAPI; using TEAMModelOS.SDK.Extension; using TEAMModelOS.SDK.Models; namespace TEAMModelOS.SDK { public static class CoreAPIHttpServiceExtensions { public static IServiceCollection AddCoreAPIHttpService(this IServiceCollection services, IConfiguration _configuration,string name = "Default") { if (services == null) throw new ArgumentNullException(nameof(services)); string location = _configuration.GetValue("Option:Location"); string url = _configuration.GetValue("HaBookAuth:CoreAPI"); var clientID = _configuration.GetValue("HaBookAuth:CoreService:clientID"); var clientSecret = _configuration.GetValue("HaBookAuth:CoreService:clientSecret"); services.AddHttpClient(); services.Configure(name , o => { o.location = location;o.url =url;o.clientID = clientID; o.clientSecret = clientSecret; }); return services; } } public class CoreAPIHttpServiceOptions { public string location { get; set; } public string url { get; set; } public string clientID { get; set; } public string clientSecret { get; set; } } public class CoreAPIHttpService { private readonly IWebHostEnvironment _environment; public bool check=true; private SnowflakeId _snowflakeId; private readonly HttpClient _httpClient; public readonly IOptionsMonitor options; private readonly IConfiguration _configuration; private readonly DI.DingDing _dingDing; public readonly Option _option; public CoreAPIHttpService(IOptionsSnapshot