using Model; using Newtonsoft.Json; using RestSharp; using System; using System.Collections.Generic; using System.Linq; using System.Security.Policy; using System.Text; using System.Threading.Tasks; namespace BLL { public static class ServerService { public static Model.TokenItem GetCNCECToken() { string CNCECPath = SysConstSetService.CNCECPath; string baseurl = CNCECPath + "/api/Common/GetToken"; var client = new RestClient(baseurl); client.Timeout = -1; var request = new RestRequest(Method.POST); var thisUnitId = BLL.Const.UnitId_CD; var thisUnit = BLL.UnitService.GetUnitByUnitId(thisUnitId); request.AddParameter("UnitName", thisUnit.UnitName); request.AddParameter("CollCropCode", thisUnit.CollCropCode); //request.AddJsonBody(JsonBody); IRestResponse response = client.Execute(request); Console.WriteLine(response.Content); var responeData = JsonConvert.DeserializeObject(response.Content.ToString()); TokenItem tokenItem = new TokenItem(); if (responeData.code==1&&string .IsNullOrEmpty(responeData.message) ) { var token = JsonConvert.DeserializeObject(responeData.data.ToString()); tokenItem.Token=token.Token.ToString(); tokenItem.ExpiryTime= token.ExpiryTime.ToString(); SysConstSetService.SetToken(tokenItem.Token); SysConstSetService.SetTokenExpirationTime(tokenItem.ExpiryTime); } return tokenItem; } public static Model.ReturnData PushCNCEC(string JsonBody,string apiurl) { Model.ReturnData responeData = new Model.ReturnData(); string CNCECPath = SysConstSetService.CNCECPath; if (string.IsNullOrEmpty(CNCECPath)) { responeData.code = 0; responeData.message = "接口地址为空,请配置!"; return responeData; } string baseurl = CNCECPath + apiurl; var client = new RestClient(baseurl); client.Timeout = -1; var request = new RestRequest(Method.POST); var tokenItem = GetToken(); request.AddHeader("token", tokenItem.Token); request.AddJsonBody(JsonBody); IRestResponse response = client.Execute(request); Console.WriteLine(response.Content); var returnData = JsonConvert.DeserializeObject(response.Content.ToString()); if (returnData.code == 0) { responeData.code = 0; responeData.message = returnData.message; return responeData; } return responeData; } public static Model.TokenItem GetToken() { Model.TokenItem tokenItem = new Model.TokenItem(); tokenItem.Token = BLL.SysConstSetService.CNCECToken; tokenItem.ExpiryTime = BLL.SysConstSetService.CNCECTTokenExTime; if (string.IsNullOrEmpty(tokenItem.Token) || string.IsNullOrEmpty(tokenItem.ExpiryTime)) { //DateTime.Parse(SysConstSetService.CNCECTTokenExTime).AddMinutes(-10) > DateTime.Now tokenItem = GetCNCECToken(); } else if (DateTime.Parse(SysConstSetService.CNCECTTokenExTime).AddMinutes(-10) < DateTime.Now) { tokenItem = GetCNCECToken(); } return tokenItem; } } }