SuperDesign/Source/开发辅助工具/Tools/UpLog/FrmPublishLogs.cs
zilinsoft a0cbe0a68f ### 2024-12-20 星期五更新
------
#### SuperDesign    V3.0.2412.2003
- *.[新增]新增支持更新日志发布时自动调用起TortoiseGit。
- *.[新增]版本列表新增支持设置正式版本。
- *.[改进]自定义对话框针对单选函数返回值,则使用if而不是switch语句。
- *.[改进]点击发布日志按钮弹出确认框,避免误点击。
- *.[改进]更新版本列表的更新时间支持昨天、今天的简短显示。
2024-12-20 15:55:33 +08:00

79 lines
2.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.Reflection;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace SuperDesign.Tools.UpLog
{
public partial class FrmPublishLogs : Form
{
public FrmPublishLogs()
{
InitializeComponent();
}
private string MdLog { get; set; } = "";
private string HtmlLog { get; set; } = "";
public void ShowLog(string LogJson)
{
try
{
JArray jarr = JArray.Parse(LogJson);
MdLog = SuperDesign.Manager.APIManager.GetMdLogText(jarr, DateTime.Now);
HtmlLog = SuperDesign.Manager.APIManager.GetHtmlLogText(jarr, DateTime.Now);
}
catch { }
}
public string BFFolderPath { get; set; } = "";
int index = 0;
private void BtnCopyMD_Click(object sender, EventArgs e)
{
RyFiles.CopyToClip(MdLog);
var git_path= SuperDesign.Manager.APIManager.GetTortoiseGitProcPath();
if(git_path.Length>0 && BFFolderPath.Length>0)
{
RyFiles.RunFile(git_path, "/command:commit", BFFolderPath);
using (var bg = new BackgroundWorker())
{
bg.DoWork += delegate { System.Threading.Thread.Sleep(1000); };//180秒后,3分钟
bg.RunWorkerCompleted += delegate {
var handle = RyForm.GetForegroundWindow();
var path = ryCommon.ProcessExt.GetPath(RyForm.GetProcessId(handle));
if (path != null && path.Length > 0)
{
var filename = System.IO.Path.GetFileName(path);
if (filename == "TortoiseGitProc.exe")
{
SendKeys.Send("^v");
}
}
else
{
index++;
if(index>10 || this.IsDisposed)
{
return;
}
System.Threading.Thread.Sleep(1000);
}
}; // 线程执行完成后会执行 RunWorkerCompleted 事伯的代码块
bg.RunWorkerAsync();
}
}
}
private void BtnCopyHtml_Click(object sender, EventArgs e)
{
RyFiles.CopyToClip(HtmlLog);
}
}
}