using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.IO; using System.Text.RegularExpressions; namespace LYFZ.WXLibrary { /// /// 常用处理类 /// public class CommonHandleClass { public CommonHandleClass() { } /// /// 微信接口日志目录路径 /// public static string WeiXinlogsPath { get { return LYFZ.WinAPI.CustomPublicMethod.BasePath + "\\Logs\\WeiXinlogs\\"; } } private static bool isOpenLogs = false; /// /// 是否开启日志功能 /// public static bool IsOpenLogs { get { return CommonHandleClass.isOpenLogs; } set { CommonHandleClass.isOpenLogs = value; } } /// /// 写日志(用于跟踪) /// public static void WriteLog(string strMsg, string ddomaine="-1", List _LogsDongleDomainList = null) { try { if ((_LogsDongleDomainList != null && IsOpenLogs && _LogsDongleDomainList.Contains(ddomaine)) || ddomaine == "-1" || (ddomaine == "-2" && IsOpenLogs)) { string filename = LYFZ.WinAPI.CustomPublicMethod.BasePath + "\\Logs\\WeiXinlogs.txt"; if (!Directory.Exists(System.IO.Path.GetDirectoryName(filename))) Directory.CreateDirectory(System.IO.Path.GetDirectoryName(filename)); StreamWriter sr = null; try { if (!File.Exists(filename)) { sr = File.CreateText(filename); } else { sr = File.AppendText(filename); } sr.WriteLine("【"+DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")+"】"+strMsg); } catch { } finally { if (sr != null) sr.Close(); } } } catch { } } public static string GetWeiXinlogs() { string filename = LYFZ.WinAPI.CustomPublicMethod.BasePath + "\\Logs\\WeiXinlogs.txt"; if (System.IO.File.Exists(filename)) { return System.IO.File.ReadAllText(filename).Replace("\r\n", "
").Replace("\n", "
"); } else { return "暂无日志"; } } public static bool DeleteWeiXinlogs() { try { string filename = LYFZ.WinAPI.CustomPublicMethod.BasePath + "\\Logs\\WeiXinlogs.txt"; if (System.IO.File.Exists(filename)) { System.IO.File.Delete(filename); return true; } else { return false; } } catch { return false; } } //URL参数添加/修改 public static string Fun_AddQueryToURL(string url, string key, string value) { int fragPos = url.LastIndexOf("#"); string fragment = string.Empty; if (fragPos > -1) { fragment = url.Substring(fragPos); url = url.Substring(0, fragPos); } int querystart = url.IndexOf("?"); if (querystart < 0) { url += "?" + key + "=" + value; } else { Regex reg = new Regex(@"(?<=[&\?])" + key + @"=[^\s&#]*", RegexOptions.Compiled); if (reg.IsMatch(url)) url = reg.Replace(url, key + "=" + value); else url += "&" + key + "=" + value; } return url + fragment; } //URL参数删除 public static string Fun_RemoveQueryFromURL(string url, string key) { Regex reg = new Regex(@"[&\?]" + key + @"=[^\s&#]*&?", RegexOptions.Compiled); return reg.Replace(url, new MatchEvaluator(PutAwayGarbageFromURL)); } private static string PutAwayGarbageFromURL(Match match) { string value = match.Value; if (value.EndsWith("&")) { return value.Substring(0, 1); } else { return string.Empty; } } public static string GetNetUrl(string ServerHostOrIP, int PortNumber) { if (ServerHostOrIP.Contains(":")) { return "http://" + ServerHostOrIP; } else { return "http://" + ServerHostOrIP + ":" + PortNumber.ToString(); } } static List _MicroLetterEventList = new List(); /// /// 微信事件列表 /// public static List MicroLetterEventList { get { return _MicroLetterEventList; } } /// /// 关键字集合 /// static List _KeywordObjectsList = new List(); /// /// 关键字集合 /// public static List KeywordObjectsList { get { return _KeywordObjectsList; } set { _KeywordObjectsList = value; } } public static string GetFunctionCode(string keyword) { KeywordObjects key = KeywordObjectsList.Find(k=>k.Keyword.ToLower()==keyword.ToLower()); if (key != null && key.FunctionCode.Trim().Length > 0) { return key.FunctionCode; } else { return "null"; } } } }