diff --git a/24Hour/TwentySystemProxyClient.cs b/24Hour/TwentySystemProxyClient.cs index 3416f1f..74a6009 100644 --- a/24Hour/TwentySystemProxyClient.cs +++ b/24Hour/TwentySystemProxyClient.cs @@ -10,9 +10,11 @@ namespace _24Hour public class TwentySystemProxyClient { private readonly HttpClient httpCliet; - public TwentySystemProxyClient(HttpClient _httpCliet) + private readonly IConfiguration configuration; + public TwentySystemProxyClient(HttpClient _httpCliet, IConfiguration _configuration) { this.httpCliet = _httpCliet; + this.configuration = _configuration; httpCliet.DefaultRequestHeaders.Add("Accept", "application/json"); httpCliet.DefaultRequestHeaders.Add("User-Agent", "HttpClientFactory-Sample"); @@ -33,8 +35,20 @@ namespace _24Hour }.ConvertToGetParam(); try { - var request = await httpCliet.GetAsync($"/TwentySystem/GetCaseInfo{param}"); - var response = await request.EnsureSuccessStatusCode().Content.ReadAsStringAsync(); + var response = await Task.Run(async () => + { + var connectionString = configuration.GetSection("CaseTwenty:UseOfflineData").Value; + if (connectionString=="false") + { + var request = await httpCliet.GetAsync($"/TwentySystem/GetCaseInfo{param}"); + var response = await request.EnsureSuccessStatusCode().Content.ReadAsStringAsync(); + return response; + } + else + { + return await File.ReadAllTextAsync(Path.Combine(Environment.CurrentDirectory,"caselist.txt")); + } + }); if (string.IsNullOrEmpty(response) == false) { var data = response.ConvertToModel>>(); @@ -59,7 +73,7 @@ namespace _24Hour { PageCount = 0, PageIndex = 0, - PageSize = 0, + PageSize = 0, RowsCount = 0, }, new List()); } @@ -89,12 +103,26 @@ namespace _24Hour bmsah = bmsah, dwbm = dwbm }.ConvertToGetParam(); - var request = await httpCliet.GetAsync($"/TwentySystem/GetJZXX{param}"); - var json = await request.EnsureSuccessStatusCode().Content.ReadAsStringAsync(); + + + var json = await Task.Run(async() => + { + var connectionString = configuration.GetSection("CaseTwenty:UseOfflineData").Value; + if (connectionString == "false") + { + var request = await httpCliet.GetAsync($"/TwentySystem/GetJZXX{param}"); + var jsonstr = await request.EnsureSuccessStatusCode().Content.ReadAsStringAsync(); + return jsonstr; + } + else + { + return await File.ReadAllTextAsync(Path.Combine(Environment.CurrentDirectory, "jzlist.txt")); + } + }); var res = json.ConvertToModel>(); if (res.IsSucceed == true) { - if (res.result==null) + if (res.result == null) { result.IsSucceed = false; result.Message = "卷宗目录为空"; @@ -108,7 +136,7 @@ namespace _24Hour return result; } convert.Id = Guid.NewGuid().ToString(); - if (convert?.jzml?.Any()==true) + if (convert?.jzml?.Any() == true) { await Task.Delay(5); foreach (var ml in convert.jzml) diff --git a/24Hour/appsettings.json b/24Hour/appsettings.json index e592234..9b0711c 100644 --- a/24Hour/appsettings.json +++ b/24Hour/appsettings.json @@ -52,7 +52,8 @@ "miniprogram_state": "trial" }, "CaseTwenty": { - "SysAddress": "http://127.0.0.1:5194" + "SysAddress": "http://127.0.0.1:5194", + "UseOfflineData": "true" }, "SyncDataFromJiguang": { "enable": "false"