using log4net; using Newtonsoft.Json; using Service.Execute.Model; namespace Service.Execute.Api; public class RfidApi { private static readonly ILog Log = LogManager.GetLogger("RfidApi"); private static readonly string BASE_URL = "http://localhost:5037"; private static readonly HttpClient _httpClient = new HttpClient() { Timeout = TimeSpan.FromSeconds(60) }; public static async Task BeginRead() { // var disConnect =await DisConnect(); //断连 // var connect = await Connect(); /* if (!connect) { Log.Info("RfidApi connect fail"); return false; } */ Log.Info("RfidApi BeginRead"); string url = BASE_URL + "/Api/BeginRead"; try { string s = await _httpClient.GetStringAsync(url); Log.Info($"BeginRead resp = {s}"); return bool.Parse(s); } catch (Exception e) { Log.Error($"RfidApi BeginRead err e={e}"); return false; } } public static async Task StopRead() { Log.Info("RfidApi StopRead"); string url = BASE_URL + "/Api/StopRead"; try { string s = await _httpClient.GetStringAsync(url); Log.Info($"StopRead resp = {s}"); return bool.Parse(s); } catch (Exception e) { Log.Error($"RfidApi StopRead err e={e}"); return false; } } public static async Task DisConnect() { Log.Info("RfidApi DisConnect"); string url = BASE_URL + "/Api/Close"; try { string s = await _httpClient.GetStringAsync(url); Log.Info($"DisConnect resp={s}"); return bool.Parse(s); } catch (Exception e) { Log.Error($"RfidApi DisConnect err e={e}"); return false; } } public static async Task Connect() { var disConnect = await DisConnect(); Log.Info("RfidApi Connect"); string url = BASE_URL + "/Api/Open"; try { string s = await _httpClient.GetStringAsync(url); Log.Info($"Connect resp={s}"); return bool.Parse(s); } catch (Exception e) { Log.Error($"RfidApi Connect err e={e}"); return false; } } public static async Task ReadRfid() { Log.Info("RfidApi ReadRfid"); // string readUrl = BASE_URL + "/Api/BeginRead"; string url = BASE_URL + "/Api/ReadRfidData"; Log.Info($"url={url}"); try { //var vBeginRead = await _httpClient.GetStringAsync(readUrl); string s = await _httpClient.GetStringAsync(url); Log.Info($"ReadRfid resp={s}"); if (s != String.Empty) { RfidReadModel? model = JsonConvert.DeserializeObject(s); if (model != null) { return model; } } } catch (Exception e) { Log.Error($"RfidApi ReadRfid err e={e}"); return null; } return null; } }