### RySmartEditor V1.0.2501.2701 - *.[改进]FTP上传时限制300毫秒内只能刷新一次UI进度。 ### SuperDesign V3.0.2501.2701 - *.[新增]新增支持在线升级功能。 #### 项目功能->项目管理 - *.[新增]FTP上传文件列表和打包文件列表支持在软件里直接编辑。 - *.[改进]更新dll版本将比对版本号,只更新版本号更新或者更新日期更新的dll。 #### 项目功能->更新日志 - *.[新增]新增支持自动记录过的分组信息,然后可以进行选择快速插入。 - *.[新增]记录使用过的项目信息到总数据库,以方便总览。 - *.[改进]右键插入日志时直接对富文本框进行编辑,而不是替换内容,从而具备撤销功能。 - *.[改进]改进MD日志输出的样式设计。 - *.[修复]修复《确认日志覆盖》窗口里的按钮,随着窗口大小变化,按钮会错乱的BUG。 - *.[修复]修复双击日志列表显示日志时,针对本周的时间显示不正确的BUG。 - *.[修复]修复右键新增日志时,如果没有分组,插入的行可能不正确的BUG。 - *.[修复]修复设为开发日志后,鼠标指针变到文本开头的问题。 #### 网页抓取工具 - *.[新增]新增多个常用UA。 - *.[新增]切换Url时如果存在Cookie和Header时,则提示是否清空。 - *.[新增]保存记录时新增支持保存UA。 - *.[新增]Url列表支持图标展示。
145 lines
6.7 KiB
C#
145 lines
6.7 KiB
C#
using Newtonsoft.Json.Linq;
|
|
using ryCommon;
|
|
using ryControls.Controls;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.ComponentModel;
|
|
using System.Data;
|
|
using System.Drawing;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
using System.Windows.Forms;
|
|
using System.Windows.Media;
|
|
using System.Xml.Linq;
|
|
using TheArtOfDev.HtmlRenderer.WinForms;
|
|
|
|
namespace SuperDesign.Tools
|
|
{
|
|
public partial class FrmUpdateLog : Form
|
|
{
|
|
public FrmUpdateLog()
|
|
{
|
|
InitializeComponent();
|
|
}
|
|
public void ShowLog(string LogJson)
|
|
{
|
|
try
|
|
{
|
|
JArray jarr = JArray.Parse(LogJson);
|
|
for (int i = 0; i < jarr.Count; i++)
|
|
{
|
|
var item = jarr[i];
|
|
var ProjectName = item.GetJsonValue("ProjectChsName", "");
|
|
if(ProjectName.Length==0)
|
|
{
|
|
ProjectName = item.GetJsonValue("ProjectName", "");
|
|
}
|
|
TabPage tab = new TabPage()
|
|
{
|
|
Text = ProjectName
|
|
};
|
|
Label label = new Label
|
|
{
|
|
Parent = tab,
|
|
Location = new Point(1, 4),
|
|
AutoSize = true,
|
|
Text = "版本号:" + item.GetJsonValue("VerStr", "")
|
|
};
|
|
var LogTime = item.GetJsonValue("LogTime", "");
|
|
var now_jarr = LogTime.Length==0? new JArray(): JArray.Parse(LogTime);
|
|
Dictionary<string, long> dict = new Dictionary<string, long>();
|
|
for (int j = 0; j < now_jarr.Count; j++)
|
|
{
|
|
var item_jarr = now_jarr[j];
|
|
dict[item_jarr.GetJsonValue("text", "")] = item_jarr.GetJsonValue("time", 0L);
|
|
}
|
|
var LogText_lines = item.GetJsonValue("LogText", "").Replace("\r", "\n").Replace("\n\n", "\n").Split('\n');
|
|
var LogText = "";
|
|
for (int l = 0; l < LogText_lines.Length; l++)
|
|
{
|
|
if (LogText_lines[l].Length == 0) { continue; }
|
|
if (LogText.Length > 0) { LogText += "<br />"; }
|
|
var line = "";
|
|
var log_line_n1 = "";
|
|
var n1_color = "";
|
|
var log_line_n2 = LogText_lines[l];
|
|
if(log_line_n2.StartsWith("*.[新增]"))
|
|
{
|
|
log_line_n1 = "*.[新增]";
|
|
n1_color = "blue";
|
|
log_line_n2 = log_line_n2.Substring(log_line_n1.Length);
|
|
}
|
|
else if (log_line_n2.StartsWith("*.[改进]"))
|
|
{
|
|
log_line_n1 = "*.[改进]";
|
|
n1_color = "green";
|
|
log_line_n2 = log_line_n2.Substring(log_line_n1.Length);
|
|
}
|
|
else if (log_line_n2.StartsWith("*.[修复]"))
|
|
{
|
|
log_line_n1 = "*.[修复]";
|
|
n1_color = "red";
|
|
log_line_n2 = log_line_n2.Substring(log_line_n1.Length);
|
|
}
|
|
line = (log_line_n1.Length==0?"":("<b><span color='"+ n1_color + "'>"+log_line_n1+"</span></b>"))+ System.Web.HttpUtility.HtmlEncode(log_line_n2);
|
|
if (dict.ContainsKey(LogText_lines[l]))
|
|
{
|
|
var dt = dict[LogText_lines[l]].ToDateTime();
|
|
var dt_str= dt.ToString("yyyy-MM-dd HH:mm");
|
|
if(dt.Date==DateTime.Now.Date)
|
|
{ dt_str = "今天 "+ dt.ToString("HH:mm"); }
|
|
else if (dt.Date.AddDays(1) == DateTime.Now.Date)
|
|
{ dt_str = "昨天 " + dt.ToString("HH:mm"); }
|
|
else
|
|
{
|
|
var index = (int)DateTime.Now.DayOfWeek;
|
|
index = index == 0 ? 7 : index;
|
|
//当前周的范围
|
|
DateTime retStartDay = DateTime.Now.Date.AddDays(-(index - 1));
|
|
if(dt >= retStartDay && dt < retStartDay.AddDays(7))
|
|
{
|
|
dt_str = "本" + dt.ToString("ddd HH:mm");
|
|
}
|
|
}
|
|
line += "<span color='red'>" + System.Web.HttpUtility.HtmlEncode("=>" + dt_str) + "</span>";
|
|
}
|
|
if(line.StartsWith("#### "))
|
|
{
|
|
line ="<br /><b>"+ line.Substring(5) + "</b>";
|
|
}
|
|
LogText += line;
|
|
}
|
|
HtmlPanel htmlPanel = new HtmlPanel
|
|
{
|
|
Parent = tab,
|
|
Font = new Font("微软雅黑", 21),
|
|
Dock = DockStyle.Fill,
|
|
Location = new Point(label.Left, label.Top + label.Height + 4),
|
|
Size = new Size(tab.ClientSize.Width, tab.ClientSize.Height - (label.Top + label.Height + 4)),
|
|
Anchor = AnchorStyles.Left | AnchorStyles.Top | AnchorStyles.Right | AnchorStyles.Bottom,
|
|
BaseStylesheet = "body { font:11pt Consolas }",
|
|
Text = "<body>" + LogText + "</body>"
|
|
};
|
|
//RichTextBox2 rich = new RichTextBox2
|
|
//{
|
|
// Parent = tab,
|
|
// Dock = DockStyle.Fill,
|
|
// Font = new Font("微软雅黑", 11),
|
|
// ReadOnly=true,
|
|
// BackColor=Color.White,
|
|
// ScrollBars= RichTextBoxScrollBars.Both,
|
|
// WordWrap=false,
|
|
// Location = new Point(label.Left, label.Top + label.Height + 4),
|
|
// Size = new Size(tab.ClientSize.Width, tab.ClientSize.Height - (label.Top + label.Height + 4)),
|
|
// Anchor = AnchorStyles.Left | AnchorStyles.Top | AnchorStyles.Right | AnchorStyles.Bottom,
|
|
// Text= LogText
|
|
//};
|
|
tabControl1.TabPages.Add(tab);
|
|
}
|
|
}
|
|
catch { }
|
|
}
|
|
}
|
|
}
|