using Newtonsoft.Json.Linq; using ryCommon; using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; using 开发辅助工具; namespace SuperDesign.Manager { public class APIManager { public static string GetMdLogText(JArray jarr, DateTime dt,bool UseEmoji=false) { string log_text = "## :date:" + DateTime.Now.ToString("yyyy-MM-dd dddd") + "更新"; for (int i = 0; i < jarr.Count; i++) { var item = jarr[i]; log_text += "\r\n\r\n### " + item.GetJsonValue("ProjectName", "").Trim() + " V" + item.GetJsonValue("VerStr", ""); var logs = item.GetJsonValue("LogText", "").Replace("\r", "\n").Replace("\n\n", "\n").Split('\n'); for (int m = 0; m < logs.Length; m++) { if (logs[m].Length == 0) { continue; } var log_item = logs[m].Replace("[开发]",""); if (log_item.StartsWith("*.")) { log_item = "- " + log_item; } else if (log_item.StartsWith("[")) { log_item = "- *." + log_item; } if (UseEmoji) { var is_kf = log_item.IndexOfEx("[开发]") > 0; var type_item = log_item.GetStr("- *.[", "]"); if (type_item == "修复") { log_item = log_item.Replace("*.[" + type_item + "]", ":lady_beetle:"+(is_kf? ":secret:" : "")+"[" + type_item + "]"); } else if (type_item == "改进") { log_item = log_item.Replace("*.[" + type_item + "]", ":100:"+(is_kf? ":secret:" : "")+"[" + type_item + "]"); } else if (type_item == "新增") { log_item = log_item.Replace("*.[" + type_item + "]", ":cactus:"+(is_kf? ":secret:" : "")+"[" + type_item + "]"); } else if (type_item == "删除") { log_item = log_item.Replace("*.[" + type_item + "]", ":x:"+(is_kf? ":secret:" : "")+"[" + type_item + "]"); } } log_text += "\r\n" + log_item.Trim(); } } return log_text; } public static string GetHtmlLogText(string bf_folder, JArray jarr, DateTime dt) { ryCommon.Ini ini = new Ini(bf_folder + "\\查看项目.ryp"); string log_text = ""; for (int i = 0; i < jarr.Count; i++) { var item = jarr[i]; var eng_name= item.GetJsonValue("ProjectName", ""); if(ini.ReadIni("NoVerHtml", eng_name,0)==1) { continue; } if (log_text.Length != 0) { log_text += "\r\n"; } var ProjectName = item.GetJsonValue("ProjectChsName", ""); if(ProjectName.Length==0) { ProjectName = eng_name; } log_text += "

" + System.Web.HttpUtility.HtmlEncode(ProjectName) + "

"; var logs = item.GetJsonValue("LogText", "").Replace("\r", "\n").Replace("\n\n", "\n").Split('\n'); for (int m = 0; m < logs.Length; m++) { if (logs[m].Length == 0) { continue; } var log_item = logs[m]; if (log_item.IndexOfEx("[开发]") >= 0) { continue; } if (log_item.IndexOfEx("#### ")== 0) { log_text += "\r\n

" + System.Web.HttpUtility.HtmlEncode(log_item.Substring(5)) + "

"; continue; } if (log_item.StartsWith("- *.")) { log_text += "\r\n

" +System.Web.HttpUtility.HtmlEncode(log_item.Substring(2))+"

"; } else { log_text += "\r\n

" + System.Web.HttpUtility.HtmlEncode(log_item) + "

"; } } } return log_text; } public static string GetTortoiseGitProcPath() { DriveInfo[] driveInfo = DriveInfo.GetDrives(); for (int i = 0; i < driveInfo.Length; i++) { var path = driveInfo[i].Name + "Program Files\\TortoiseGit\\bin\\TortoiseGitProc.exe"; if (System.IO.File.Exists(path)) { return path; } } return ""; } /// /// 获取参数翻译名称 /// /// /// public static string GetParamTitle(string ParamName) { var title = ""; switch (ParamName.ToLower()) { case "starttime": title = "开始时间"; break; case "endtime": title = "结束时间"; break; case "page": title = "页码"; break; case "pagesize": title = "每页数量"; break; case "title": title = "标题"; break; case "name": title = "名称"; break; case "id": title = "id编号"; break; case "modelid": title = "资源类型"; break; case "packagename": case "pkgname": title = "包名"; break; case "filename": title = "文件名"; break; case "url": title = "网址"; break; case "username": title = "用户名"; break; case "realname": title = "真实姓名"; break; case "cooperid": title = "合作包id"; break; } return title; } } }