using Newtonsoft.Json; using OnlineUserPool.Model; using System.Collections.Generic; using System.Net.Http; using System.Text; using System.Threading.Tasks; namespace OnlineUserPool.Unility { public class BaseApi { internal static System.Net.Http.HttpClient httpClient; static BaseApi() { httpClient = new System.Net.Http.HttpClient(); } protected static async Task PostAsync(string url, object data) { StringContent stringContent; if (data != null) { stringContent = new StringContent(JsonConvert.SerializeObject(data), Encoding.UTF8, "application/json"); } else { stringContent = new StringContent("", Encoding.UTF8); } var response = await httpClient.PostAsync(ConfigHelp.Host + url, stringContent).ConfigureAwait(false); var result = await response.Content.ReadAsStringAsync(); return JsonConvert.DeserializeObject(result); } protected static async Task GetAsync(string url) { var response = await httpClient.GetAsync(ConfigHelp.Host + url, HttpCompletionOption.ResponseContentRead).ConfigureAwait(false); var result = await response.Content.ReadAsStringAsync(); return JsonConvert.DeserializeObject(result); } } public class WebService : BaseApi { /// /// 从服务端获取记录信息 /// /// public static List GetRecordFileFromServer(List id) { return PostAsync>>("Map/GetCyclingRecordsById", id).ConfigureAwait(false).GetAwaiter().GetResult().data; } public static List GetMapRouteRandomUser(RandomRankingUserRequestVM requestVM) { return PostAsync>>($"Map/GetRandomRankingUserRecord", requestVM).ConfigureAwait(false).GetAwaiter().GetResult().data; } } }