using log4net; using Newtonsoft.Json; using Service.Execute.Model; namespace Service.Execute.Api; public class RfidApi { private static readonly ILog Log = LogManager.GetLogger(typeof(RfidApi)); //TODO::Rfid 服务地址 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() { Log.Info("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("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 ReadRifd() { Log.Info("ReadRifd"); string url = BASE_URL + "/Api/ReadRfidData"; try { string s = await _httpClient.GetStringAsync(url); Log.Info($"ReadRifd resp={s}"); if (s != String.Empty) { RfidReadModel? model = JsonConvert.DeserializeObject(s); if (model != null) { return model; } } } catch (Exception e) { Log.Error($"RfidApi ReadRifd err e={e}"); return null; } return null; } }