using System; using System.Collections.Generic; using System.Linq; using System.Net.Http; using System.Net.Http.Json; using System.Text; using System.Threading.Tasks; using wispro.sp.entity.CompareCase; using wispro.sp.share.webViewObject; using wispro.sp.share; using wispro.sp.utility; namespace wispro.sp.winClient { public class APIService { string strAPIBaseUri = ConfigHelper.GetSectionValue("APIBaseUri"); private HttpClient CreateHttp() { HttpClientHandler clientHandler = new HttpClientHandler(); clientHandler.ServerCertificateCustomValidationCallback = (sender, cert, chain, sslPolicyErrors) => { return true; }; return new HttpClient(clientHandler) { Timeout=TimeSpan.FromMinutes(2)}; } private async Task Login() { share.webViewObject.loginDto dto = new share.webViewObject.loginDto(); dto.Name = "caiyangl"; dto.Password = "Lqftiu807005"; try { var response = await CreateHttp().PostAsJsonAsync($"{strAPIBaseUri}/api/account/Login", dto); if (response.IsSuccessStatusCode) { userToken? Token = await response.Content.ReadFromJsonAsync(); return Token; } else { return null; } } catch (Exception ex) { return null; } } /// /// 保存CaseInfo新型 /// /// /// public async Task SaveCompareResult(CaseInfo caseinfo) { userToken? Token = await Login(); if (Token != null) { HttpClient http = CreateHttp();// http.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("bearer", Token?.Token); try { var data = await http.PostAsJsonAsync($"{strAPIBaseUri}/api/CaseFileCompare/Save", caseinfo); if (data.IsSuccessStatusCode) { var ret = await data.Content.ReadFromJsonAsync(); if (ret.Success) { return true; } else { throw new Exception(ret.ErrorMessage); } } else { return false; } } catch (Exception ex) { return false; } } return false; } public async Task> CalZScore() { userToken? Token = await Login(); if (Token != null) { HttpClient http = CreateHttp(); http.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("bearer", Token?.Token); try { var data = await http.GetAsync($"{strAPIBaseUri}/api/CaseFileCompare/CalMean_Std?start=2024-10-01&end=2024-12-01"); if (data.IsSuccessStatusCode) { var ret = await data.Content.ReadFromJsonAsync>(); if (ret != null) { return (List)ret; } } else { return null; } } catch (Exception ex) { throw ex; } } return null; } public async Task CaseExist(string caseNo) { userToken? Token = await Login(); if (Token != null) { HttpClient http = CreateHttp(); http.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("bearer", Token?.Token); try { var data = await http.GetAsync($"{strAPIBaseUri}/api/CaseFileCompare/CaseExist?CaseNo={caseNo}"); if (data.IsSuccessStatusCode) { bool? ret = await data.Content.ReadFromJsonAsync(); if (ret != null) { return (bool)ret; } } else { return false; } } catch (Exception ex) { throw ex; } } return false; } } }