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
|
{
|
/// <summary>
|
/// 通用类
|
/// </summary>
|
public class UtilityHelper
|
{
|
private static string WebApiUrl = System.Configuration.ConfigurationSettings.AppSettings.Get("WebApiUrl").ToString();
|
|
/// <summary>
|
/// httpPost访问服务
|
/// </summary>
|
/// <param name="url">服务地址</param>
|
/// <param name="meth">方法名称</param>
|
/// <param name="param">参数</param>
|
/// <returns></returns>
|
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;
|
}
|
/// <summary>
|
/// 根据图片名读取资源文件,不带后缀名
|
/// </summary>
|
/// <param name="imageName"></param>
|
/// <param name="lay">1为大图</param>
|
/// <returns></returns>
|
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;
|
}
|
/// <summary>
|
/// 生成token
|
/// </summary>
|
/// <returns></returns>
|
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;
|
}
|
/// <summary>
|
/// 标准json串返回ReturnModel-->table,
|
/// </summary>
|
/// <param name="strReturn"></param>
|
/// <returns></returns>
|
public static ReturnModel<PageListModel> GetTableByJson(string strReturn)
|
{
|
ReturnModel<PageListModel> rto = new ReturnModel<PageListModel>();
|
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<DataTable>(array.ToString());
|
rto.rtnData.list = dt;
|
return rto;
|
}
|
/// <summary>
|
/// 标准json串返回ReturnModel->字符串,
|
/// </summary>
|
/// <param name="strReturn"></param>
|
/// <returns></returns>
|
public static ReturnModel<dynamic> GetDataByJson(string strReturn)
|
{
|
ReturnModel<dynamic> rto = new ReturnModel<dynamic>();
|
JObject json = JObject.Parse(strReturn);
|
rto.rtnCode = int.Parse(json["rtnCode"].ToString());
|
rto.rtnMsg = json["rtnMsg"].ToString();
|
rto.rtnData = json["rtnData"];
|
return rto;
|
}
|
/// <summary>
|
/// 设置系统字体大小,目前并不通用
|
/// </summary>
|
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);
|
}
|
}
|
}
|
}
|