using Newtonsoft.Json.Linq; using System; using System.Collections.Generic; using System.Data; using System.IO; using System.Linq; using System.Net; using System.Reflection; using System.Text; using System.Resources; using System.Drawing; using Newtonsoft.Json; using Gs.DevApp.Models; using System.Windows.Forms; namespace Gs.DevApp.ToolBox { /// /// 通用类 /// public class UtilityHelper { private static string WebApiUrl = System.Configuration.ConfigurationSettings.AppSettings.Get("WebApiUrl").ToString(); /// /// httpPost访问服务 /// /// 服务地址 /// 方法名称 /// 参数 /// public static string HttpPost(string url, string meth, string param) { if (string.IsNullOrEmpty(url)) url = WebApiUrl; url += meth; HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(url); request.Method = "POST"; request.ContentType = "application/json"; request.Headers.Add("token", GetBasicAuthTicket()); request.Accept = "*/*"; request.Timeout = 15000; request.AllowAutoRedirect = false; StreamWriter requestStream = null; WebResponse response = null; string responseStr = null; try { requestStream = new StreamWriter(request.GetRequestStream()); requestStream.Write(param); requestStream.Close(); response = request.GetResponse(); if (response != null) { StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.UTF8); responseStr = reader.ReadToEnd(); //File.WriteAllText(Server.MapPath("~/") + @"\test.txt", responseStr); reader.Close(); } } catch (Exception ex) { throw ex; } finally { request = null; requestStream = null; response = null; } return responseStr; } /// /// 根据图片名读取资源文件,不带后缀名 /// /// /// 1为大图 /// public static Image GetImgFromResource(string imageName, int lay) { // 获取当前程序集 Assembly assembly = Assembly.GetExecutingAssembly(); // 创建资源管理器来访问资源 ResourceManager resourceManager = new ResourceManager("Gs.DevApp.Properties.Resources", assembly); // 尝试获取图片资源 try { Image image = resourceManager.GetObject(imageName) as Image; if (image != null) { return image; } } catch (Exception ex) { } Image image2 = resourceManager.GetObject(lay == 1 ? "chartsshowlegend_32x32" : "linktoprevious_16x16") as Image; return image2; } /// /// 生成token /// /// public static string GetBasicAuthTicket() { string userGuid = string.IsNullOrEmpty(LoginInfoModel.CurrentUser.LoginUserGuid) ? Guid.NewGuid().ToString() : LoginInfoModel.CurrentUser.LoginUserGuid; string orgGuid = string.IsNullOrEmpty(LoginInfoModel.CurrentUser.LoginOrgGuid) ? Guid.NewGuid().ToString() : LoginInfoModel.CurrentUser.LoginOrgGuid; string token = (userGuid + "~" + orgGuid); return token; } /// /// 标准json串返回ReturnModel-->table, /// /// /// public static ReturnModel GetTableByJson(string strReturn) { ReturnModel rto = new ReturnModel(); JObject json = JObject.Parse(strReturn); rto.rtnCode = int.Parse(json["rtnCode"].ToString()); rto.rtnMsg = json["rtnMsg"].ToString(); rto.rtnData = new PageListModel(); rto.rtnData.pages = int.Parse(json["rtnData"]["pages"].ToString()); rto.rtnData.total = int.Parse(json["rtnData"]["total"].ToString()); rto.rtnData.everyPageSize = int.Parse(json["rtnData"]["everyPageSize"].ToString()); JArray array = new JArray(); var d = json["rtnData"]["list"]; foreach (var a in d) { array.Add(a); } DataTable dt = JsonConvert.DeserializeObject(array.ToString()); rto.rtnData.list = dt; return rto; } /// /// 标准json串返回ReturnModel->字符串, /// /// /// public static ReturnModel GetDataByJson(string strReturn) { ReturnModel rto = new ReturnModel(); JObject json = JObject.Parse(strReturn); rto.rtnCode = int.Parse(json["rtnCode"].ToString()); rto.rtnMsg = json["rtnMsg"].ToString(); rto.rtnData = json["rtnData"]; return rto; } /// /// 设置系统字体大小,目前并不通用 /// public static float GetFontSize = 10; public static void SetFont(Control control) { float size = GetFontSize; foreach (Control childControl in control.Controls) { childControl.Font = new Font(childControl.Font.FontFamily, size, childControl.Font.Style); SetFont(childControl); } } } }