- *.[改进]项目支持自动打包功能。

### 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列表支持图标展示。
This commit is contained in:
zilinsoft committed 2025-01-27 15:41:54 +08:00
1 parent 747a97a1c9
commit 1f8c54fe38
47 files changed
+1593 -374

No files matched your search

+6
View File
@@ -137,6 +137,12 @@ namespace 开发辅助工具
db.ExecuteNonQuery("DELETE FROM Urls WHERE id IN (SELECT id FROM Urls ORDER BY ClickCount desc,editTime desc LIMIT 1000,50) and editTime<=@editTime and IsFav<>1", mySQL);
}
db.Free();
LiveUpdate.RyUpdate update = new LiveUpdate.RyUpdate("http://gs2.3h3.com:8081/OnlineUpgrade/SuperDesign.json");
//update.OnUpdateCancel += Update_OnUpdateCancel;
//update.OnNoUpdate += Update_OnNoUpdate;
//update.OnAppExit += Update_OnAppExit;
update.ParentForm = this;
update.CheckUpdate();
}
private void BtnTools_Click(object sender, EventArgs e)
+16 -19
View File
@@ -14,12 +14,11 @@ namespace SuperDesign.Manager
{
public static string GetMdLogText(JArray jarr, DateTime dt,bool UseEmoji=false)
{
string log_text = "### " + DateTime.Now.ToString("yyyy-MM-dd dddd") + "更新";
log_text += "\r\n----";
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", "");
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++)
{
@@ -29,34 +28,32 @@ namespace SuperDesign.Manager
{
log_item = "- " + log_item;
}
else if (log_item.StartsWith("["))
{
log_item = "- *." + log_item;
}
if (UseEmoji)
{
var type_item = logs[m].GetStr("- *.[", "]");
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:[" + 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 + "]", ":butterfly:[" + 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:[" + 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 + "]");
}
}
if (log_item.StartsWith("- *."))
{
log_text += "\r\n" + log_item;
}
else if (log_item.StartsWith("#### "))
{
log_text += "\r\n" + log_item;
}
else
{
log_text += "\r\n- *." + log_item;
}
log_text += "\r\n" + log_item.Trim();
}
}
return log_text;
@@ -161,6 +161,7 @@ namespace 开发辅助工具.Manager
mySQL.AddField("Cookie", "");
mySQL.AddField("Postdata", "");
mySQL.AddField("Method", "");
mySQL.AddField("UserAgent", "");
mySQL.AddField("Header", "");
mySQL.AddField("Referer", "");
mySQL.AddField("ContentType", "");
+47 -13
View File
@@ -71,25 +71,28 @@ namespace 开发辅助工具.Manager
db.Free();
}
/// <summary>
/// 通过dll名称来寻找dll路径
/// 通过dll路径来寻找dll路径
/// </summary>
/// <param name="dll_name"></param>
/// <param name="dll_full_path"></param>
/// <returns></returns>
public string GetDllPath(string dll_name)
public string GetDllPath(string dll_full_path)
{
return GetDllPath("", dll_name);
return GetDllPath("", dll_full_path);
}
/// <summary>
/// 通过dll名称来寻找dll路径
/// </summary>
/// <param name="dll_foldername">为空则表示根目录下查找,否则查找子目录</param>
/// <param name="dll_name"></param>
/// <param name="dll_full_path"></param>
/// <returns></returns>
public string GetDllPath(string dll_foldername,string dll_name)
public string GetDllPath(string dll_foldername,string dll_full_path)
{
var dll_name = System.IO.Path.GetFileName(dll_full_path);
var path_list = ReferenceDllPath.Replace("\r", "").Split('\n');
var find = false;
//var find = false;
var result = "";
var Min_Ver = RySoft.GetVersionStr(dll_full_path);
var Min_dt=RyFiles.GetFileDate(dll_full_path);
#region 在引用文件夹查找是否有该dll,有则使用引用文件夹里的dll
for (int m = 0; m < path_list.Length; m++)
{
@@ -102,12 +105,38 @@ namespace 开发辅助工具.Manager
{
if (System.IO.Path.GetFileName(files[z]).ToLower() == dll_name.ToLower())
{
var dll_ver = RySoft.GetVersionStr(files[z]);
var compareVer = RySoft.CompareVer(Min_Ver, dll_ver);
if (compareVer < 0)//引用位置版本比较老,直接忽略
{
continue;
}
else if (compareVer == 0)//引用位置版本一致,则看更新时间
{
var file_dt=RyFiles.GetFileDate(files[z]);
if (file_dt.LastWriteTime <= Min_dt.LastWriteTime)
{
continue;
}
else
{
Min_dt=file_dt;
}
}
else if(compareVer==-1000)
{
continue;
}
else
{
Min_dt = RyFiles.GetFileDate(files[z]);
}
result = files[z];
find = true;
break;
Min_Ver=dll_ver;
//find = true;
}
}
if (find) { break; }
//if (find) { break; }
}
#endregion
return result;
@@ -179,7 +208,7 @@ namespace 开发辅助工具.Manager
for (int i = 0; i < files.Length; i++)
{
string filename = System.IO.Path.GetFileName(files[i]);
var dllpath = GetDllPath(foldername,filename);
var dllpath = GetDllPath(foldername, files[i]);
if (dllpath.Length>0)
{
if (filename.ToLower() == "System.Data.SQLite.dll".ToLower())
@@ -266,7 +295,7 @@ namespace 开发辅助工具.Manager
if (iPos > 0)
{
var Reference_Name = HintPath.Substring(iPos + 1);//引用的dll名称
var dll_path = GetDllPath(Reference_Name);
var dll_path = GetDllPath(OutputPath + Reference_Name);
if (dll_path.Length>0)
{
if (CopyDllToBin)
@@ -305,7 +334,7 @@ namespace 开发辅助工具.Manager
{ dll_name = "ryUpdate.dll"; }
if (dll_name != "")
{
var dll_path = GetDllPath(dll_name);
var dll_path = GetDllPath(OutputPath + dll_name);
if (dll_path != "")
{
if (CopyDllToBin)
@@ -660,6 +689,11 @@ namespace 开发辅助工具.Manager
{
ouput_folder = bf_folder + "\\Bin\\" + com_mode;
}
if (!System.IO.Directory.Exists(ouput_folder))
{
ShowState("打包失败,生成目录不存在。");
return;
}
var file_ver = "";
if (System.IO.File.Exists(ouput_folder + "\\" + eng_name + ".exe"))
{
@@ -31,5 +31,5 @@ using System.Runtime.InteropServices;
// 可以指定所有值,也可以使用以下所示的 "*" 预置版本号和修订号
// 方法是按如下所示使用“*”: :
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("3.0.2501.1501")]
[assembly: AssemblyFileVersion("3.0.2501.1501")]
[assembly: AssemblyVersion("3.0.2501.2701")]
[assembly: AssemblyFileVersion("3.0.2501.2701")]
@@ -120,6 +120,16 @@ namespace SuperDesign.Properties {
}
}
/// <summary>
/// 查找 System.Drawing.Bitmap 类型的本地化资源。
/// </summary>
internal static System.Drawing.Bitmap iphone {
get {
object obj = ResourceManager.GetObject("iphone", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// 查找 System.Drawing.Bitmap 类型的本地化资源。
/// </summary>
@@ -159,5 +169,45 @@ namespace SuperDesign.Properties {
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// 查找 System.Drawing.Bitmap 类型的本地化资源。
/// </summary>
internal static System.Drawing.Bitmap windows {
get {
object obj = ResourceManager.GetObject("windows", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// 查找 System.Drawing.Bitmap 类型的本地化资源。
/// </summary>
internal static System.Drawing.Bitmap 安卓 {
get {
object obj = ResourceManager.GetObject("安卓", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// 查找 System.Drawing.Bitmap 类型的本地化资源。
/// </summary>
internal static System.Drawing.Bitmap 微信 {
get {
object obj = ResourceManager.GetObject("微信", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// 查找 System.Drawing.Bitmap 类型的本地化资源。
/// </summary>
internal static System.Drawing.Bitmap 鸿蒙os {
get {
object obj = ResourceManager.GetObject("鸿蒙os", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
}
}
@@ -136,6 +136,9 @@
<data name="GoToPreviousMessage" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\gotopreviousmessage.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="iphone" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\iphone.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="LineColorHS" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\linecolorhs.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
@@ -148,4 +151,16 @@
<data name="plus" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\plus.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="windows" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\windows.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="安卓" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\安卓.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="微信" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\微信.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="鸿蒙os" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\鸿蒙os.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
</root>
Binary file not shown.

After

Width:  |  Height:  |  Size: 558 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 305 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 545 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 712 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 784 B

@@ -325,12 +325,24 @@
<Compile Include="Manager\FrmToolsSearch.Designer.cs">
<DependentUpon>FrmToolsSearch.cs</DependentUpon>
</Compile>
<Compile Include="Tools\UpLog\FrmSaveContent.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Tools\UpLog\FrmSaveContent.Designer.cs">
<DependentUpon>FrmSaveContent.cs</DependentUpon>
</Compile>
<Compile Include="Tools\UpLog\FrmCompareLog.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Tools\UpLog\FrmCompareLog.Designer.cs">
<DependentUpon>FrmCompareLog.cs</DependentUpon>
</Compile>
<Compile Include="Tools\UpLog\FrmGroupSelected.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Tools\UpLog\FrmGroupSelected.Designer.cs">
<DependentUpon>FrmGroupSelected.cs</DependentUpon>
</Compile>
<Compile Include="Tools\UpLog\FrmPublishLogs.cs">
<SubType>Form</SubType>
</Compile>
@@ -456,9 +468,15 @@
<EmbeddedResource Include="Manager\FrmToolsSearch.resx">
<DependentUpon>FrmToolsSearch.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Tools\UpLog\FrmSaveContent.resx">
<DependentUpon>FrmSaveContent.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Tools\UpLog\FrmCompareLog.resx">
<DependentUpon>FrmCompareLog.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Tools\UpLog\FrmGroupSelected.resx">
<DependentUpon>FrmGroupSelected.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Tools\UpLog\FrmPublishLogs.resx">
<DependentUpon>FrmPublishLogs.cs</DependentUpon>
</EmbeddedResource>
@@ -485,6 +503,11 @@
</ItemGroup>
<ItemGroup>
<Content Include="gaim_48px_29650_easyicon.net.ico" />
<None Include="Resources\windows.png" />
<None Include="Resources\安卓.png" />
<None Include="Resources\iphone.png" />
<None Include="Resources\鸿蒙os.png" />
<None Include="Resources\微信.png" />
<None Include="Resources\主要特点.png" />
<None Include="Resources\plus.png" />
<None Include="Resources\ok.png" />
+56 -22
View File
@@ -53,6 +53,8 @@
this.RbPersonal = new System.Windows.Forms.RadioButton();
this.RbGeneral = new System.Windows.Forms.RadioButton();
this.BtnUploadProject = new ryControls.ButtonEx();
this.BtnFtpFiles = new ryControls.ButtonEx();
this.BtnPackFileList = new ryControls.ButtonEx();
this.groupBox1 = new System.Windows.Forms.GroupBox();
this.ChkPackByLite = new System.Windows.Forms.CheckBox();
this.groupBox2 = new System.Windows.Forms.GroupBox();
@@ -78,6 +80,7 @@
this.BtnSave2 = new ryControls.ButtonEx();
this.panel1 = new System.Windows.Forms.Panel();
this.tabPage4 = new System.Windows.Forms.TabPage();
this.LblUseTime = new System.Windows.Forms.Label();
this.ChkUpdateVerByPublish = new System.Windows.Forms.CheckBox();
this.BtnSubmitGit = new ryControls.ButtonEx();
this.tabControl1 = new System.Windows.Forms.TabControl();
@@ -90,7 +93,6 @@
this.设为正式版本ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.生成Html日志ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.BtnPublishLogs = new ryControls.ButtonEx();
this.LblUseTime = new System.Windows.Forms.Label();
this.timer1 = new System.Windows.Forms.Timer(this.components);
((System.ComponentModel.ISupportInitialize)(this.table1)).BeginInit();
this.groupBox1.SuspendLayout();
@@ -160,7 +162,7 @@
this.table1.Location = new System.Drawing.Point(3, 3);
this.table1.Name = "table1";
this.table1.NoItemsText = "当前列表没有任何项";
this.table1.Size = new System.Drawing.Size(915, 371);
this.table1.Size = new System.Drawing.Size(915, 461);
this.table1.TabIndex = 20;
this.table1.TableModel = this.tableModel1;
this.table1.Text = "table1";
@@ -358,6 +360,34 @@
this.BtnUploadProject.UseVisualStyleBackColor = true;
this.BtnUploadProject.Click += new System.EventHandler(this.BtnUploadProject_Click);
//
// BtnFtpFiles
//
this.BtnFtpFiles.BaseColor = System.Drawing.Color.SteelBlue;
this.BtnFtpFiles.ColorGradient = true;
this.BtnFtpFiles.Location = new System.Drawing.Point(147, 95);
this.BtnFtpFiles.Name = "BtnFtpFiles";
this.BtnFtpFiles.Size = new System.Drawing.Size(126, 34);
this.BtnFtpFiles.TabIndex = 34;
this.BtnFtpFiles.Text = "FTP上传列表设置";
this.toolTip1.SetToolTip(this.BtnFtpFiles, "一键混淆并打包当前项目生成的文件。");
this.BtnFtpFiles.UseDefSkin = false;
this.BtnFtpFiles.UseVisualStyleBackColor = true;
this.BtnFtpFiles.Click += new System.EventHandler(this.BtnFtpFiles_Click);
//
// BtnPackFileList
//
this.BtnPackFileList.BaseColor = System.Drawing.Color.SteelBlue;
this.BtnPackFileList.ColorGradient = true;
this.BtnPackFileList.Location = new System.Drawing.Point(279, 95);
this.BtnPackFileList.Name = "BtnPackFileList";
this.BtnPackFileList.Size = new System.Drawing.Size(126, 34);
this.BtnPackFileList.TabIndex = 35;
this.BtnPackFileList.Text = "打包文件列表设置";
this.toolTip1.SetToolTip(this.BtnPackFileList, "一键混淆并打包当前项目生成的文件。");
this.BtnPackFileList.UseDefSkin = false;
this.BtnPackFileList.UseVisualStyleBackColor = true;
this.BtnPackFileList.Click += new System.EventHandler(this.BtnPackFileList_Click);
//
// groupBox1
//
this.groupBox1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
@@ -420,7 +450,7 @@
this.chromeTabControl1.SelectedIndex = 0;
this.chromeTabControl1.ShowAddButton = false;
this.chromeTabControl1.ShowCloseButton = false;
this.chromeTabControl1.Size = new System.Drawing.Size(923, 410);
this.chromeTabControl1.Size = new System.Drawing.Size(923, 500);
this.chromeTabControl1.SizeMode = System.Windows.Forms.TabSizeMode.Fixed;
this.chromeTabControl1.TabContextMenuStrip = null;
this.chromeTabControl1.TabIndex = 29;
@@ -432,13 +462,15 @@
this.tabPage2.Location = new System.Drawing.Point(1, 29);
this.tabPage2.Name = "tabPage2";
this.tabPage2.Padding = new System.Windows.Forms.Padding(3);
this.tabPage2.Size = new System.Drawing.Size(921, 380);
this.tabPage2.Size = new System.Drawing.Size(921, 470);
this.tabPage2.TabIndex = 0;
this.tabPage2.Text = "文件夹";
this.tabPage2.UseVisualStyleBackColor = true;
//
// tabPage1
//
this.tabPage1.Controls.Add(this.BtnPackFileList);
this.tabPage1.Controls.Add(this.BtnFtpFiles);
this.tabPage1.Controls.Add(this.ChkIsMain);
this.tabPage1.Controls.Add(this.BtnUploadProject);
this.tabPage1.Controls.Add(this.TxtUploadName);
@@ -458,7 +490,7 @@
this.tabPage1.Location = new System.Drawing.Point(1, 29);
this.tabPage1.Name = "tabPage1";
this.tabPage1.Padding = new System.Windows.Forms.Padding(3);
this.tabPage1.Size = new System.Drawing.Size(921, 380);
this.tabPage1.Size = new System.Drawing.Size(921, 470);
this.tabPage1.TabIndex = 1;
this.tabPage1.Text = "项目信息";
this.tabPage1.UseVisualStyleBackColor = true;
@@ -541,7 +573,7 @@
this.BtnSave.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.BtnSave.BaseColor = System.Drawing.Color.Green;
this.BtnSave.ColorGradient = true;
this.BtnSave.Location = new System.Drawing.Point(798, 340);
this.BtnSave.Location = new System.Drawing.Point(814, 430);
this.BtnSave.Name = "BtnSave";
this.BtnSave.Size = new System.Drawing.Size(99, 34);
this.BtnSave.TabIndex = 27;
@@ -692,7 +724,7 @@
this.tabPage3.Location = new System.Drawing.Point(1, 29);
this.tabPage3.Name = "tabPage3";
this.tabPage3.Padding = new System.Windows.Forms.Padding(3);
this.tabPage3.Size = new System.Drawing.Size(921, 380);
this.tabPage3.Size = new System.Drawing.Size(921, 470);
this.tabPage3.TabIndex = 2;
this.tabPage3.Text = "C#编译选项";
this.tabPage3.UseVisualStyleBackColor = true;
@@ -702,7 +734,7 @@
this.BtnSave2.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.BtnSave2.BaseColor = System.Drawing.Color.Green;
this.BtnSave2.ColorGradient = true;
this.BtnSave2.Location = new System.Drawing.Point(798, 340);
this.BtnSave2.Location = new System.Drawing.Point(798, 430);
this.BtnSave2.Name = "BtnSave2";
this.BtnSave2.Size = new System.Drawing.Size(99, 34);
this.BtnSave2.TabIndex = 28;
@@ -733,11 +765,21 @@
this.tabPage4.Location = new System.Drawing.Point(1, 29);
this.tabPage4.Name = "tabPage4";
this.tabPage4.Padding = new System.Windows.Forms.Padding(3);
this.tabPage4.Size = new System.Drawing.Size(921, 380);
this.tabPage4.Size = new System.Drawing.Size(921, 470);
this.tabPage4.TabIndex = 3;
this.tabPage4.Text = "更新日志";
this.tabPage4.UseVisualStyleBackColor = true;
//
// LblUseTime
//
this.LblUseTime.AutoSize = true;
this.LblUseTime.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.LblUseTime.Location = new System.Drawing.Point(6, 13);
this.LblUseTime.Name = "LblUseTime";
this.LblUseTime.Size = new System.Drawing.Size(150, 17);
this.LblUseTime.TabIndex = 15;
this.LblUseTime.Text = "距离上次更新已经过去:0分";
//
// ChkUpdateVerByPublish
//
this.ChkUpdateVerByPublish.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
@@ -773,7 +815,7 @@
this.tabControl1.Location = new System.Drawing.Point(354, 39);
this.tabControl1.Name = "tabControl1";
this.tabControl1.SelectedIndex = 0;
this.tabControl1.Size = new System.Drawing.Size(561, 335);
this.tabControl1.Size = new System.Drawing.Size(561, 425);
this.tabControl1.TabIndex = 12;
//
// BtnSaveLog
@@ -806,7 +848,7 @@
this.LvUpdateLogList.HideSelection = false;
this.LvUpdateLogList.Location = new System.Drawing.Point(3, 39);
this.LvUpdateLogList.Name = "LvUpdateLogList";
this.LvUpdateLogList.Size = new System.Drawing.Size(345, 335);
this.LvUpdateLogList.Size = new System.Drawing.Size(345, 425);
this.LvUpdateLogList.TabIndex = 10;
this.LvUpdateLogList.UseCompatibleStateImageBehavior = false;
this.LvUpdateLogList.View = System.Windows.Forms.View.Details;
@@ -864,16 +906,6 @@
this.BtnPublishLogs.UseVisualStyleBackColor = true;
this.BtnPublishLogs.Click += new System.EventHandler(this.BtnPublishLogs_Click);
//
// LblUseTime
//
this.LblUseTime.AutoSize = true;
this.LblUseTime.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.LblUseTime.Location = new System.Drawing.Point(6, 13);
this.LblUseTime.Name = "LblUseTime";
this.LblUseTime.Size = new System.Drawing.Size(150, 17);
this.LblUseTime.TabIndex = 15;
this.LblUseTime.Text = "距离上次更新已经过去:0分";
//
// timer1
//
this.timer1.Enabled = true;
@@ -884,7 +916,7 @@
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(929, 622);
this.ClientSize = new System.Drawing.Size(929, 706);
this.CloseButton = false;
this.CloseButtonVisible = false;
this.Controls.Add(this.chromeTabControl1);
@@ -985,5 +1017,7 @@
private BrightIdeasSoftware.OLVColumn OlvTime;
private System.Windows.Forms.Label LblUseTime;
private System.Windows.Forms.Timer timer1;
private ryControls.ButtonEx BtnFtpFiles;
private ryControls.ButtonEx BtnPackFileList;
}
}
+231 -34
View File
@@ -13,17 +13,14 @@ using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.Drawing;
using System.Drawing.Drawing2D;
using System.Linq;
using System.Reflection;
using System.Text;
using System.Threading;
using System.Windows.Documents;
using System.Windows.Forms;
using System.Xml;
using System.Xml.Linq;
using WeifenLuo.WinFormsUI.Docking;
using 开发辅助工具.Manager;
using static ScintillaNETV2.Style;
namespace 开发辅助工具.Tools
{
@@ -844,8 +841,9 @@ namespace 开发辅助工具.Tools
var _path = GetBFFolderPath();
if (_path.Length > 0)
{
IDbInterface db_global = new SQLiteDataProvider();
IDbInterface db = new SQLiteDataProvider();
if (db.ConnDb(_path + "\\Res\\Setting\\UpdateLogs.dat") == 1)
if (db.ConnDb(_path + "\\Res\\Setting\\UpdateLogs.dat") == 1 && db_global.ConnDb(Application.StartupPath + "\\UserDb\\Project.dat") == 1)
{
if (clean)
{
@@ -871,6 +869,21 @@ namespace 开发辅助工具.Tools
else
{
#region 当前日志表
JObject jo_group;
try
{
var ds_group = db.ReadData("select * from Settings where Name='GroupList'");
if (ds_group.HaveData())
{
jo_group = JObject.Parse(ds_group.GetRow(0)["Value"].ToString());
}
else
{
jo_group = new JObject();
}
ds_group?.Dispose();
}
catch { jo_group = new JObject(); }
for (int i = 0; i < tabControl1.TabPages.Count; i++)
{
var tab = tabControl1.TabPages[i];
@@ -900,6 +913,7 @@ namespace 开发辅助工具.Tools
}
}
else { continue; }
RyQuickSQL mySQL = new RyQuickSQL("ProjectNowLogs");
mySQL.AddField("Name", p_item.ProjectName);
mySQL.AddField("ChsName", txt.Text);
@@ -919,9 +933,23 @@ namespace 开发辅助工具.Tools
dict[item.GetJsonValue("text", "")] = item.GetJsonValue("time", 0L);
}
var lines = rich.Lines;
var jarr_group = jo_group.GetJsonValue("group_"+p_item.ProjectName,new JArray());
for (int j = 0; j < lines.Length; j++)
{
if (lines[j].Length == 0) { continue; }
if (lines[j].StartsWith("#### "))
{
var group_name = lines[j].Substring(5).Trim();
if(!jarr_group.Any(x=>x.GetJsonValue("text","")== group_name))
{
JObject _item_group = new JObject
{
["text"] = group_name,
["time"] = DateTime.Now.ToInt64()
};
jarr_group.Add(_item_group);
}
}
if (!dict.ContainsKey(lines[j]))
{
JObject jo = new JObject
@@ -933,6 +961,7 @@ namespace 开发辅助工具.Tools
dict[lines[j]] = DateTime.Now.ToInt64();
}
}
jo_group["group_" + p_item.ProjectName] = jarr_group;
mySQL.AddField("ValueTime", JSON_ValueTime.ToString());
if (ds.HaveData())
{
@@ -970,10 +999,33 @@ namespace 开发辅助工具.Tools
dict_changed[p_item.ProjectName] = false;
}
ds?.Dispose();
RyQuickSQL mySQL_project = new RyQuickSQL("Projects");
mySQL_project.AddField("ProjectName", p_item.ProjectName);
mySQL_project.AddField("FolderName", System.IO.Path.GetDirectoryName(_path));//
mySQL_project.AddField("BfFolder", _path);//
mySQL_project.AddField("ProjectPath", p_item.ProjectPath);
mySQL_project.AddField("SaveTime", DateTime.Now.ToInt64());
mySQL_project.AddField("editTime", DateTime.Now.ToInt64());
if (db.Update(mySQL_project, "ProjectName=@ProjectName and FolderName=@FolderName") == 0)
{
//mySQL_project.AddField("VerUpdateTime", DateTime.Now.ToInt64());//
//mySQL_project.AddField("VerStr", Version);
mySQL_project.AddField("addTime", DateTime.Now.ToInt64());
db.Insert(mySQL_project);
}
p_item.LastSave = DateTime.Now;
}
}
}
RyQuickSQL MySQL_Setting = new RyQuickSQL("Settings");
MySQL_Setting.AddField("Name", "GroupList");
MySQL_Setting.AddField("Value", jo_group.ToString());
MySQL_Setting.AddField("EditTime", DateTime.Now);
if (db.Update(MySQL_Setting, "Name=@Name") == 0)
{
MySQL_Setting.AddField("AddTime", DateTime.Now);
db.Insert(MySQL_Setting);
}
db.Free();
return true;
#endregion
@@ -1043,8 +1095,9 @@ namespace 开发辅助工具.Tools
var _path = GetBFFolderPath();
if (_path.Length > 0)
{
IDbInterface db_global = new SQLiteDataProvider();
IDbInterface db = new SQLiteDataProvider();
if (db.ConnDb(_path + "\\Res\\Setting\\UpdateLogs.dat") == 1)
if (db.ConnDb(_path + "\\Res\\Setting\\UpdateLogs.dat") == 1 && db_global.ConnDb(Application.StartupPath + "\\UserDb\\Project.dat") == 1)
{
Ini ini = new Ini(_path+ "\\查看项目.ryp");
var Main_Project = ini.ReadIni("project", "MainProject", "");
@@ -1154,6 +1207,20 @@ namespace 开发辅助工具.Tools
{
jarr.Add(jo_item);
}
RyQuickSQL mySQL_project = new RyQuickSQL("Projects");
mySQL_project.AddField("ProjectName", p_item.ProjectName);
mySQL_project.AddField("VerUpdateTime", DateTime.Now.ToInt64());//
mySQL_project.AddField("VerStr", Version);
mySQL_project.AddField("FolderName", System.IO.Path.GetDirectoryName(_path));//
mySQL_project.AddField("BfFolder", _path);
mySQL_project.AddField("ProjectPath", p_item.ProjectPath);
mySQL_project.AddField("SaveTime", DateTime.Now.ToInt64());
mySQL_project.AddField("editTime", DateTime.Now.ToInt64());
if (db.Update(mySQL_project, "ProjectName=@ProjectName and FolderName=@FolderName") == 0)
{
mySQL_project.AddField("addTime", DateTime.Now.ToInt64());
db.Insert(mySQL_project);
}
index++;
}
}
@@ -1321,8 +1388,30 @@ namespace 开发辅助工具.Tools
var _path = GetBFFolderPath();
if (_path.Length > 0)
{
string ftp_setting_path = _path + "\\FTPUploadData.jryp";
if(System.IO.File.Exists(ftp_setting_path))
{
BtnUploadProject.Enabled = true;
}
else { BtnUploadProject.Enabled = false; }
Ini ini = new Ini(_path + "\\查看项目.ryp");
var Main_Project = ini.ReadIni("project", "MainProject", "");
IDbInterface db_global = new SQLiteDataProvider();
if (db_global.ConnDb(Application.StartupPath + "\\UserDb\\Project.dat") == 1)
{
RyQuickSQL mySQL = new RyQuickSQL("Projects");
mySQL.AddField("ProjectName", "");
mySQL.AddField("VerUpdateTime", 0L);//版本更新时间
mySQL.AddField("VerStr", "");//版本
mySQL.AddField("FolderName", "");//
mySQL.AddField("BfFolder", "");//
mySQL.AddField("ProjectPath", "");
mySQL.AddField("SaveTime", DateTime.Now.ToInt64());
mySQL.AddField("editTime", DateTime.Now.ToInt64());
mySQL.AddField("addTime", DateTime.Now.ToInt64());
db_global.CreateDb(mySQL);
}
db_global.Free();
IDbInterface db = new SQLiteDataProvider();
if (db.ConnDb(_path + "\\Res\\Setting\\UpdateLogs.dat") == 1)
{
@@ -1354,6 +1443,7 @@ namespace 开发辅助工具.Tools
mySQL.AddField("Name", "");
mySQL.AddField("Value", "");//值
mySQL.AddField("addTime", DateTime.Now);
mySQL.AddField("EditTime", DateTime.Now);
if (db.CreateDb(mySQL) == 1)
{
db.ExecuteNonQuery("CREATE INDEX index_Name ON Settings(Name); ");
@@ -1498,11 +1588,50 @@ namespace 开发辅助工具.Tools
var iPos2 = txt.IndexOf("]", iPos);
if((iPos2-5)>=iPos)
{
txt = txt.Substring(0, iPos)+ txt.Substring(iPos, iPos2- iPos+1)+"[开发]"+txt.Substring(iPos2+1);
rich.SelectionStart = iPos2+1;
rich.SelectionLength = 0;
rich.SelectedText = "[开发]";
//txt = txt.Substring(0, iPos)+ txt.Substring(iPos, iPos2- iPos+1)+"[开发]"+txt.Substring(iPos2+1);
}
rich.Text = txt;
//rich.Text = txt;
//rich.SelectionStart = iPos2 + 5;
}
};
rich.AddMenu("插入更新分组", "log_group").Click += delegate (object s4, EventArgs e4)
{
FrmGroupSelected frm = new FrmGroupSelected();
frm.DbPath = _path + "\\Res\\Setting\\UpdateLogs.dat";
frm.ProjectName = p_name;
if(frm.ShowDialog()==DialogResult.OK)
{
var lines = rich.Lines;
var line_index = rich.GetLineFromCharIndex(rich.SelectionStart);
if (line_index < 0) { line_index = 0; }
if (lines[line_index].Trim().Length==0)
{
var iPos = rich.GetFirstCharIndexFromLine(line_index);
rich.SelectionStart = iPos;
rich.SelectionLength = 0;
rich.SelectedText = "#### " + frm.SelectedGroupName;
//lines[line_index] = "#### " + frm.SelectedGroupName;
//rich.Lines = lines;
}
else if (lines[line_index].Trim()=="####")
{
var iPos = rich.GetFirstCharIndexFromLine(line_index);
rich.SelectionStart = iPos;
rich.SelectionLength = lines[line_index].Length;
rich.SelectedText = "#### " + frm.SelectedGroupName;
//lines[line_index] = "#### " + frm.SelectedGroupName;
//rich.Lines = lines;
}
else
{
MessageBox.Show("请选择空行或者格式正确的行", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
}
}
frm.Dispose();
};
void AddUpLog(string name)
{
var lines = rich.Lines.ToList<string>();
@@ -1512,13 +1641,18 @@ namespace 开发辅助工具.Tools
{
if (lines.Count > 0)
{
var have = false;
for (int j = line_index; j >= 0; j--)
{
if (lines[j].StartsWith("#### "))
{
line_index = j + 1; break;
line_index = j + 1; have = true; break;
}
}
if(!have)
{
line_index = 0;
}
}
}
var find_line = -1;
@@ -1541,8 +1675,12 @@ namespace 开发辅助工具.Tools
{
if (find_line >= 0)
{
lines.Insert(find_line+1, "*.[" + name + "]");
find_line++;
rich.SelectionStart = rich.GetFirstCharIndexFromLine(find_line);
rich.SelectionLength = 0;
rich.SelectedText = "*.[" + name + "]\n";
rich.SelectionStart--;
//lines.Insert(find_line, "*.[" + name + "]");
match = true;
break;
}
@@ -1550,50 +1688,68 @@ namespace 开发辅助工具.Tools
}
if(find_line>=0 && !match)
{
lines.Add("*.[" + name + "]");
rich.SelectionStart =rich.Text.Length;
rich.SelectionLength = 0;
rich.SelectedText = "\n*.[" + name + "]";
//lines.Add("*.[" + name + "]");
find_line++;
}
if(find_line == -1)
{
if (name == "新增")
{
lines.Insert(0, "*.[" + name + "]");
find_line = 0;
rich.SelectionStart = rich.GetFirstCharIndexFromLine(line_index);
rich.SelectionLength = 0;
rich.SelectedText = "*.[" + name + "]\n";
rich.SelectionStart--;
//lines.Insert(line_index, "*.[" + name + "]");
find_line = line_index;
}
else if (name == "改进")
{
if (dict_line.ContainsKey("新增"))
{
lines.Insert(dict_line["新增"]+1, "*.[" + name + "]");
rich.SelectionStart = rich.GetFirstCharIndexFromLine(dict_line["新增"] + 1);
rich.SelectionLength = 0;
rich.SelectedText = "*.[" + name + "]\n";
rich.SelectionStart--;
//lines.Insert(dict_line["新增"]+1, "*.[" + name + "]");
find_line = dict_line["新增"]+1;
}
else
{
lines.Insert(0, "*.[" + name + "]");
find_line = 0;
rich.SelectionStart = rich.GetFirstCharIndexFromLine(line_index);
rich.SelectionLength = 0;
rich.SelectedText = "*.[" + name + "]\n";
rich.SelectionStart--;
//lines.Insert(line_index, "*.[" + name + "]");
find_line = line_index;
}
}
else
{
lines.Add("*.[" + name + "]");
rich.SelectionStart = rich.Text.Length;
rich.SelectionLength = 0;
rich.SelectedText = "\n*.[" + name + "]";
//lines.Add("*.[" + name + "]");
find_line = lines.Count - 1;
}
}
var txt = "";
var SelectionStart = -1;
for (int t = 0; t < lines.Count; t++)
{
if (lines[t].Length == 0) { continue; }
if (txt.Length > 0) { txt += "\n"; }
txt += lines[t];
if(find_line==t)
{
SelectionStart = txt.Length;
}
}
rich.Text = txt;
rich.SelectionStart= SelectionStart;
rich.SelectionLength = 0;
//var txt = "";
//var SelectionStart = -1;
//for (int t = 0; t < lines.Count; t++)
//{
// if (lines[t].Length == 0) { continue; }
// if (txt.Length > 0) { txt += "\n"; }
// txt += lines[t];
// if(find_line==t)
// {
// SelectionStart = txt.Length;
// }
//}
//rich.Text = txt;
//rich.SelectionStart= SelectionStart;
//rich.SelectionLength = 0;
}
var ds_now_up = db.ReadData("select * from ProjectNowLogs where Name='" + p_name + "'");
if (ds_now_up.HaveData())
@@ -1746,7 +1902,10 @@ namespace 开发辅助工具.Tools
foreach (var item in main_info_all)
{
var main_info = item.Value;
log_text += "\r\n<h4>" + System.Web.HttpUtility.HtmlEncode(item.Key) + "</h4>";
if (item.Key.Length > 0)
{
log_text += "\r\n<h4>" + System.Web.HttpUtility.HtmlEncode(item.Key) + "</h4>";
}
for (int i = 0; i < main_info.AddInfo.Count; i++)
{
log_text += "\r\n<p>" + System.Web.HttpUtility.HtmlEncode(main_info.AddInfo[i]) + "</p>";
@@ -1777,7 +1936,10 @@ namespace 开发辅助工具.Tools
foreach (var item2 in main_info_all)
{
var main_info = item2.Value;
log_text += "\r\n<h4>" + System.Web.HttpUtility.HtmlEncode(item2.Key) + "</h4>";
if (item2.Key.Length > 0)
{
log_text += "\r\n<h4>" + System.Web.HttpUtility.HtmlEncode(item2.Key) + "</h4>";
}
for (int i = 0; i < main_info.AddInfo.Count; i++)
{
log_text += "\r\n<p>" + System.Web.HttpUtility.HtmlEncode(main_info.AddInfo[i]) + "</p>";
@@ -1823,6 +1985,41 @@ namespace 开发辅助工具.Tools
}
}
}
private void BtnFtpFiles_Click(object sender, EventArgs e)
{
var _path = GetBFFolderPath();
if (_path.Length > 0)
{
var txt = RyFiles.ReadAllText(_path+ "\\FTPUploadData.jryp");
FrmSaveContent frm=new FrmSaveContent();
frm.Text = "FTP上传文件列表";
frm.Rich1.Text = txt;
if(frm.ShowDialog()==DialogResult.OK)
{
RyFiles.WriteAllText(_path + "\\FTPUploadData.jryp", frm.Rich1.Text);
BtnUploadProject.Enabled = true;
}
frm.Dispose();
}
}
private void BtnPackFileList_Click(object sender, EventArgs e)
{
var _path = GetBFFolderPath();
if (_path.Length > 0)
{
var txt = RyFiles.ReadAllText(_path + "\\Publish\\Publish.set");
FrmSaveContent frm = new FrmSaveContent();
frm.Text = "打包文件列表";
frm.Rich1.Text = txt;
if (frm.ShowDialog() == DialogResult.OK)
{
RyFiles.WriteAllText(_path + "\\Publish\\Publish.set", frm.Rich1.Text);
}
frm.Dispose();
}
}
}
class UpLogItem
{
+58 -62
View File
@@ -86,11 +86,11 @@
this.objectListView2 = new BrightIdeasSoftware.FastObjectListView();
this.OlvUrl = ((BrightIdeasSoftware.OLVColumn)(new BrightIdeasSoftware.OLVColumn()));
this.OlvName = ((BrightIdeasSoftware.OLVColumn)(new BrightIdeasSoftware.OLVColumn()));
this.BtnMore = new ryControls.SuperPictureBox();
this.MenuMore = new System.Windows.Forms.ContextMenuStrip(this.components);
this.toolTip1 = new System.Windows.Forms.ToolTip(this.components);
this.BtnSetting = new ryControls.SuperPictureBox();
this.BtnShare = new ryControls.SuperPictureBox();
this.BtnSetting = new ryControls.SuperPictureBox();
this.BtnMore = new ryControls.SuperPictureBox();
this.RbHead = new System.Windows.Forms.RadioButton();
this.MenuSetting = new System.Windows.Forms.ContextMenuStrip(this.components);
this.生成代码ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
@@ -114,9 +114,9 @@
this.groupBox1.SuspendLayout();
this.contextMenuStrip1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.objectListView2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.BtnMore)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.BtnSetting)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.BtnShare)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.BtnSetting)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.BtnMore)).BeginInit();
this.MenuSetting.SuspendLayout();
this.SuspendLayout();
//
@@ -161,8 +161,8 @@
//
// RichHtml
//
this.RichHtml.BackColor = System.Drawing.Color.White;
this.RichHtml.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.RichHtml.DetectUrls = false;
this.RichHtml.Dock = System.Windows.Forms.DockStyle.Fill;
this.RichHtml.EmptyText = "";
this.RichHtml.Font = new System.Drawing.Font("Courier New", 10F);
@@ -216,8 +216,8 @@
//
// RichCookie
//
this.RichCookie.BackColor = System.Drawing.Color.White;
this.RichCookie.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.RichCookie.DetectUrls = false;
this.RichCookie.Dock = System.Windows.Forms.DockStyle.Fill;
this.RichCookie.EmptyText = "";
this.RichCookie.Font = new System.Drawing.Font("Courier New", 10F);
@@ -244,8 +244,8 @@
//
// RichStatus
//
this.RichStatus.BackColor = System.Drawing.Color.White;
this.RichStatus.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.RichStatus.DetectUrls = false;
this.RichStatus.Dock = System.Windows.Forms.DockStyle.Fill;
this.RichStatus.EmptyText = "";
this.RichStatus.Font = new System.Drawing.Font("Courier New", 10F);
@@ -272,8 +272,8 @@
//
// RichHeader
//
this.RichHeader.BackColor = System.Drawing.Color.White;
this.RichHeader.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.RichHeader.DetectUrls = false;
this.RichHeader.Dock = System.Windows.Forms.DockStyle.Fill;
this.RichHeader.EmptyText = "";
this.RichHeader.Font = new System.Drawing.Font("Courier New", 10F);
@@ -285,7 +285,6 @@
this.RichHeader.Size = new System.Drawing.Size(882, 300);
this.RichHeader.TabIndex = 6;
this.RichHeader.Text = "";
this.RichHeader.WordWrap = true;
//
// tabPreview
//
@@ -340,11 +339,11 @@
this.label1.BackColor = System.Drawing.Color.White;
this.label1.Font = new System.Drawing.Font("宋体", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.label1.ForeColor = System.Drawing.Color.Gray;
this.label1.Location = new System.Drawing.Point(314, 39);
this.label1.Location = new System.Drawing.Point(292, 39);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(189, 14);
this.label1.Size = new System.Drawing.Size(238, 14);
this.label1.TabIndex = 4;
this.label1.Text = "当前模式下无法修改Post数据";
this.label1.Text = "当前模式下Post数据不生效,无法修改";
this.label1.Visible = false;
//
// TxtPost
@@ -387,7 +386,6 @@
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.TxtCookie.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.TxtCookie.DetectUrls = false;
this.TxtCookie.EmptyText = "请填写请求时要发送的Cookie";
this.TxtCookie.Font = new System.Drawing.Font("Courier New", 10F);
this.TxtCookie.ForeColor = System.Drawing.Color.Black;
@@ -418,7 +416,6 @@
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.TxtInputHeader.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.TxtInputHeader.DetectUrls = false;
this.TxtInputHeader.EmptyText = "请填写请求时要发送的Header";
this.TxtInputHeader.Font = new System.Drawing.Font("Courier New", 10F);
this.TxtInputHeader.ForeColor = System.Drawing.Color.Black;
@@ -466,8 +463,9 @@
this.CbbContentType.Name = "CbbContentType";
this.CbbContentType.SelectedIndex = -1;
this.CbbContentType.SelectedItem = null;
this.CbbContentType.Size = new System.Drawing.Size(205, 23);
this.CbbContentType.Size = new System.Drawing.Size(218, 23);
this.CbbContentType.TabIndex = 304;
this.CbbContentType.ToolTipText = "";
//
// CbbUserAgent
//
@@ -476,18 +474,17 @@
this.CbbUserAgent.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(236)))), ((int)(((byte)(239)))), ((int)(((byte)(244)))));
this.CbbUserAgent.ButtonRoundBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(236)))), ((int)(((byte)(239)))), ((int)(((byte)(244)))));
this.CbbUserAgent.EmptyText = "";
this.CbbUserAgent.Items.Add("Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)");
this.CbbUserAgent.Items.Add("Mozilla/5.0 (Windows NT 6.1; WOW64; rv:18.0) Gecko/20100101 Firefox/18.0");
this.CbbUserAgent.Items.Add("Mozilla/4.0 (compatible; MSIE 8.0; Windows NT6.0)");
this.CbbUserAgent.Items.Add("Opera/9.27 (Windows NT 5.2; U; zh-cn)");
this.CbbUserAgent.Location = new System.Drawing.Point(360, 18);
this.CbbUserAgent.Location = new System.Drawing.Point(374, 18);
this.CbbUserAgent.MaxPopupHeight = 0;
this.CbbUserAgent.MaxPopupWidth = 0;
this.CbbUserAgent.Name = "CbbUserAgent";
this.CbbUserAgent.SelectedIndex = -1;
this.CbbUserAgent.SelectedItem = null;
this.CbbUserAgent.Size = new System.Drawing.Size(520, 23);
this.CbbUserAgent.Size = new System.Drawing.Size(506, 23);
this.CbbUserAgent.TabIndex = 303;
this.toolTip1.SetToolTip(this.CbbUserAgent, "assdddddd");
this.CbbUserAgent.ToolTipText = "";
this.CbbUserAgent.SelectedIndexChanged += new System.EventHandler(this.CbbUserAgent_SelectedIndexChanged);
//
// CbbReferer
//
@@ -496,7 +493,7 @@
this.CbbReferer.BackColor = System.Drawing.Color.White;
this.CbbReferer.EmptyText = "引用页(可选)";
this.CbbReferer.ImeMode = System.Windows.Forms.ImeMode.Close;
this.CbbReferer.Location = new System.Drawing.Point(360, 46);
this.CbbReferer.Location = new System.Drawing.Point(374, 46);
this.CbbReferer.LongTime = 2000;
this.CbbReferer.MaxLength = 999999999;
this.CbbReferer.MaxUndoRedoSteps = 50;
@@ -508,7 +505,7 @@
this.CbbReferer.SelectedText = "";
this.CbbReferer.SelectionLength = 0;
this.CbbReferer.SelectionStart = 0;
this.CbbReferer.Size = new System.Drawing.Size(520, 23);
this.CbbReferer.Size = new System.Drawing.Size(506, 23);
this.CbbReferer.TabIndex = 302;
this.CbbReferer.TextAlign = System.Windows.Forms.HorizontalAlignment.Left;
this.CbbReferer.ToolTip = "";
@@ -531,7 +528,7 @@
this.CbbIp.SelectedText = "";
this.CbbIp.SelectionLength = 0;
this.CbbIp.SelectionStart = 0;
this.CbbIp.Size = new System.Drawing.Size(205, 23);
this.CbbIp.Size = new System.Drawing.Size(218, 23);
this.CbbIp.TabIndex = 301;
this.CbbIp.TextAlign = System.Windows.Forms.HorizontalAlignment.Left;
this.CbbIp.ToolTip = "";
@@ -549,7 +546,7 @@
// label7
//
this.label7.AutoSize = true;
this.label7.Location = new System.Drawing.Point(297, 24);
this.label7.Location = new System.Drawing.Point(310, 24);
this.label7.Name = "label7";
this.label7.Size = new System.Drawing.Size(59, 12);
this.label7.TabIndex = 2;
@@ -558,7 +555,7 @@
// label11
//
this.label11.AutoSize = true;
this.label11.Location = new System.Drawing.Point(299, 50);
this.label11.Location = new System.Drawing.Point(312, 50);
this.label11.Name = "label11";
this.label11.Size = new System.Drawing.Size(47, 12);
this.label11.TabIndex = 0;
@@ -876,26 +873,31 @@
this.OlvName.Text = "名称";
this.OlvName.Width = 200;
//
// BtnMore
//
this.BtnMore.Cursor = System.Windows.Forms.Cursors.Hand;
this.BtnMore.Image = ((System.Drawing.Image)(resources.GetObject("BtnMore.Image")));
this.BtnMore.ImageDomain = null;
this.BtnMore.ImageResFolder = null;
this.BtnMore.Location = new System.Drawing.Point(556, 8);
this.BtnMore.Name = "BtnMore";
this.BtnMore.Size = new System.Drawing.Size(20, 18);
this.BtnMore.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
this.BtnMore.TabIndex = 114;
this.BtnMore.TabStop = false;
this.toolTip1.SetToolTip(this.BtnMore, "更多选项");
this.BtnMore.Click += new System.EventHandler(this.BtnMore_Click);
//
// MenuMore
//
this.MenuMore.Name = "MenuMore";
this.MenuMore.Size = new System.Drawing.Size(61, 4);
//
// toolTip1
//
this.toolTip1.ShowAlways = true;
this.toolTip1.ToolTipIcon = System.Windows.Forms.ToolTipIcon.Info;
//
// BtnShare
//
this.BtnShare.Cursor = System.Windows.Forms.Cursors.Hand;
this.BtnShare.Image = ((System.Drawing.Image)(resources.GetObject("BtnShare.Image")));
this.BtnShare.ImageDomain = null;
this.BtnShare.ImageResFolder = null;
this.BtnShare.Location = new System.Drawing.Point(849, 11);
this.BtnShare.Name = "BtnShare";
this.BtnShare.Size = new System.Drawing.Size(20, 18);
this.BtnShare.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
this.BtnShare.TabIndex = 117;
this.BtnShare.TabStop = false;
this.toolTip1.SetToolTip(this.BtnShare, "分享当前页面数据给别人");
this.BtnShare.Click += new System.EventHandler(this.BtnShare_Click);
//
// BtnSetting
//
this.BtnSetting.Cursor = System.Windows.Forms.Cursors.Hand;
@@ -911,20 +913,20 @@
this.toolTip1.SetToolTip(this.BtnSetting, "更多选项");
this.BtnSetting.Click += new System.EventHandler(this.BtnSetting_Click);
//
// BtnShare
// BtnMore
//
this.BtnShare.Cursor = System.Windows.Forms.Cursors.Hand;
this.BtnShare.Image = ((System.Drawing.Image)(resources.GetObject("BtnShare.Image")));
this.BtnShare.ImageDomain = null;
this.BtnShare.ImageResFolder = null;
this.BtnShare.Location = new System.Drawing.Point(849, 11);
this.BtnShare.Name = "BtnShare";
this.BtnShare.Size = new System.Drawing.Size(20, 18);
this.BtnShare.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
this.BtnShare.TabIndex = 117;
this.BtnShare.TabStop = false;
this.toolTip1.SetToolTip(this.BtnShare, "分享当前页面数据给别人");
this.BtnShare.Click += new System.EventHandler(this.BtnShare_Click);
this.BtnMore.Cursor = System.Windows.Forms.Cursors.Hand;
this.BtnMore.Image = ((System.Drawing.Image)(resources.GetObject("BtnMore.Image")));
this.BtnMore.ImageDomain = null;
this.BtnMore.ImageResFolder = null;
this.BtnMore.Location = new System.Drawing.Point(556, 8);
this.BtnMore.Name = "BtnMore";
this.BtnMore.Size = new System.Drawing.Size(20, 18);
this.BtnMore.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
this.BtnMore.TabIndex = 114;
this.BtnMore.TabStop = false;
this.toolTip1.SetToolTip(this.BtnMore, "更多选项");
this.BtnMore.Click += new System.EventHandler(this.BtnMore_Click);
//
// RbHead
//
@@ -1000,14 +1002,8 @@
this.Controls.Add(this.RbGet);
this.Controls.Add(this.label2);
this.Controls.Add(this.objectListView2);
this.DockAreas = ((WeifenLuo.WinFormsUI.Docking.DockAreas)((((((WeifenLuo.WinFormsUI.Docking.DockAreas.Float | WeifenLuo.WinFormsUI.Docking.DockAreas.DockLeft)
| WeifenLuo.WinFormsUI.Docking.DockAreas.DockRight)
| WeifenLuo.WinFormsUI.Docking.DockAreas.DockTop)
| WeifenLuo.WinFormsUI.Docking.DockAreas.DockBottom)
| WeifenLuo.WinFormsUI.Docking.DockAreas.Document)));
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.Name = "FrmWebGet";
this.ShowHint = WeifenLuo.WinFormsUI.Docking.DockState.Unknown;
this.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Show;
this.TabPageContextMenuStrip = this.menuRight1;
this.Text = "网页抓取工具";
@@ -1033,9 +1029,9 @@
this.groupBox1.PerformLayout();
this.contextMenuStrip1.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.objectListView2)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.BtnMore)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.BtnSetting)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.BtnShare)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.BtnSetting)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.BtnMore)).EndInit();
this.MenuSetting.ResumeLayout(false);
this.ResumeLayout(false);
this.PerformLayout();
+212 -27
View File
@@ -32,6 +32,7 @@ using SuperDesign.Manager;
using SuperDesign.Tools;
using ScintillaNETV2.Highlight;
using System.Runtime.InteropServices;
using WinShell;
namespace 开发辅助工具.Tools
{
@@ -43,6 +44,7 @@ namespace 开发辅助工具.Tools
LoadPram();
tabControl2.SelectedTab = tabPage12;
OlvUrl.AspectGetter = delegate (object x) { return ((UrlInfo)x)?.Url; };
OlvUrl.Renderer = new UrlRenderer();
OlvName.AspectGetter = delegate (object x) {
var item = (UrlInfo)x;
if (item==null || item.Des.Length == 0)
@@ -56,6 +58,40 @@ namespace 开发辅助工具.Tools
objectListView2.FormatRow += ObjectListView2_FormatRow;
}
class UrlRenderer : BaseRenderer
{
public UrlRenderer()
{
UseGdiTextRendering = false;
}
//
// 摘要:
// Draw the flags
//
// 参数:
// g:
//
// r:
public override void Render(Graphics g, Rectangle r)
{
DrawBackground(g, r);
if (!(base.Aspect is IConvertible convertible))
{
return;
}
r = ApplyCellPadding(r);
if (base.RowObject is UrlInfo item1)
{
var start_x = 0;
if(item1.Icon!=null)
{
start_x += DrawImage2(g, r, start_x,new Bitmap(item1.Icon));
}
start_x += DrawText2(g, r, start_x,item1.Url);
}
}
}
private DescribedTaskRenderer CreateDescribedTaskRenderer()
{
@@ -95,18 +131,34 @@ namespace 开发辅助工具.Tools
private void LoadPram()
{
CbbContentType.SelectedIndex = 0;
CbbUserAgent.SelectedIndex = 0;
CbbEncoding.SelectedIndex = 0;
CbbTimeout.SelectedIndex = CbbTimeout.Items.Count-2;
CbbWriteTimeout.SelectedIndex = CbbWriteTimeout.Items.Count - 2;
CbbUserAgent.Items.AddRange(new UserAgentInfo[]{
new UserAgentInfo() { name = "QQ浏览器极速模式", useragent = "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.26 Safari/537.36 Core/1.63.6776.400 QQBrowser/10.3.2601.400" },
new UserAgentInfo() { name = "360浏览器极速模式", useragent = "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36" },
new UserAgentInfo() { name = "QQ浏览器手机版", useragent = "Mozilla/5.0 (Linux; U; Android 8.1.0; zh-cn; BLA-AL00 Build/HUAWEIBLA-AL00) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/57.0.2987.132 MQQBrowser/8.9 Mobile Safari/537.36" },
new UserAgentInfo() { name = "微信", useragent = "Mozilla/5.0 (Linux; U; Android 4.1.2; zh-cn; GT-I9300 Build/JZO54K) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30 MicroMessenger/5.2.380" },
new UserAgentInfo() { name = "iPhone", useragent = "Mozilla/5.0 (iPhone; U; CPU like Mac OS X; en) AppleWebKit/420+ (KHTML, like Gecko) Version/3.0 Mobile/1C28 Safari/419.3" },
new UserAgentInfo() { name = "安卓", useragent = "Mozilla/5.0 (Linux; Android 4.1.1; Nexus 7 Build/JRO03S) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.166 Safari/535.19" },
CbbUserAgent.Items.AddRange(new ComboPopupItem[]{
new ComboPopupItem() {Image=SuperDesign.Properties.Resources.windows,Text = "Edge浏览器", ValueStr1 = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/132.0.0.0 Safari/537.36 Edg/132.0.0.0" },
new ComboPopupItem() {Image=SuperDesign.Properties.Resources.windows,Text = "Chrome浏览器", ValueStr1 = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36" },
new ComboPopupItem() {Image=SuperDesign.Properties.Resources.windows,Text = "Firefox浏览器", ValueStr1 = "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:18.0) Gecko/20100101 Firefox/18.0" },
new ComboPopupItem() {Image=SuperDesign.Properties.Resources.windows,Text = "Opera浏览器", ValueStr1 = "Opera/9.27 (Windows NT 5.2; U; zh-cn)" },
new ComboPopupItem() {Image=SuperDesign.Properties.Resources.windows,Text = "IE7浏览器", ValueStr1 = "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT6.0)" },
new ComboPopupItem() {Image=SuperDesign.Properties.Resources.windows,Text = "IE9浏览器", ValueStr1 = "Mozilla/5.0(compatible;MSIE9.0;WindowsNT6.1;Trident/5.0;" },
new ComboPopupItem() {Image=SuperDesign.Properties.Resources.windows,Text = "QQ浏览器极速模式", ValueStr1 = "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.26 Safari/537.36 Core/1.63.6776.400 QQBrowser/10.3.2601.400" },
new ComboPopupItem() {Image=SuperDesign.Properties.Resources.windows,Text = "360浏览器极速模式", ValueStr1 = "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36" },
new ComboPopupItem() {Image=SuperDesign.Properties.Resources.安卓, Text = "华为浏览器安卓手机版", ValueStr1 = "Mozilla/5.0 (Linux; Android 12; HarmonyOS; NAM-AL00; HMSCore 6.14.0.302) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.5735.196 HuaweiBrowser/15.0.7.301 Mobile Safari/537.36" },
new ComboPopupItem() {Image=SuperDesign.Properties.Resources.安卓,Text = "UC浏览器安卓手机版", ValueStr1 = "Mozilla/5.0 (Linux; U; Android 12; zh-CN; NAM-AL00 Build/HUAWEINAM-AL00) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/100.0.4896.58 UCBrowser/16.4.2.1293 Mobile Safari/537.36" },
new ComboPopupItem() {Image=SuperDesign.Properties.Resources.安卓,Text = "QQ浏览器安卓手机版", ValueStr1 = "Mozilla/5.0 (Linux; U; Android 8.1.0; zh-cn; BLA-AL00 Build/HUAWEIBLA-AL00) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/57.0.2987.132 MQQBrowser/8.9 Mobile Safari/537.36" },
new ComboPopupItem() {Image=SuperDesign.Properties.Resources.安卓,Text = "360浏览器安卓手机版", ValueStr1 = "Mozilla/5.0 (Linux; Android 12; NAM-AL00 Build/HUAWEINAM-AL00; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/81.0.4044.145 Mobile Safari/537.36" },
new ComboPopupItem() {Image=SuperDesign.Properties.Resources.安卓,Text = "安卓", ValueStr1 = "Mozilla/5.0 (Linux; Android 4.1.1; Nexus 7 Build/JRO03S) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.166 Safari/535.19" },
new ComboPopupItem() {Image=SuperDesign.Properties.Resources.鸿蒙os, Text = "Harmony OS NEXT 华为浏览器", ValueStr1 = "Mozilla/5.0 (Phone; OpenHarmony 5.0)AppleWebKit/537.36 (KHTML, like Gecko)Chrome/114.0.0.0 Safari/537.36 ArkWeb/4.1.6.1 Mobile HuaweiBrowser/5.0.3.351" },
new ComboPopupItem() {Image=SuperDesign.Properties.Resources.鸿蒙os, Text = "Harmony OS NEXT UC浏览器", ValueStr1 = "Mozilla/5.0 (Phone; OpenHarmony 5.0)AppleWebKit/537.36 (KHTML, like Gecko)Chrome/114.0.0.0 ArkWeb/4.1.6.1 UCBrowser/1.1.6.0 Mobile Safari/537.36" },
new ComboPopupItem() {Image=SuperDesign.Properties.Resources.鸿蒙os, Text = "Harmony OS NEXT QQ浏览器", ValueStr1 = "Mozilla/5.0 (Phone; Android 14;OpenHarmony 5.0) AppleWebKit/537.36(KHTML, like Gecko) Version/4.0 Chrome/ 114.0.0.0 ArkWeb/4.1.6.1 Mobile Safari/537.36qbyouthfynohead/15.0" },
new ComboPopupItem() {Image=SuperDesign.Properties.Resources.鸿蒙os, Text = "Harmony OS NEXT 360浏览器", ValueStr1 = "Mozilla/5.0 (Phone; OpenHarmony 5.0;HarmonyOS 5.0) AppleWebKit/537.36(KHTML,like Gecko) Chrome/114.0.0.0 Safari/537.36 ArkWeb/4.1.6.1 Mobile Browser/harmony360Browser/1.0.0" },
new ComboPopupItem() {Image=SuperDesign.Properties.Resources.微信,Text = "微信", ValueStr1 = "Mozilla/5.0 (Linux; U; Android 4.1.2; zh-cn; GT-I9300 Build/JZO54K) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30 MicroMessenger/5.2.380" },
new ComboPopupItem() {Image=SuperDesign.Properties.Resources.iphone, Text = "iPhone", ValueStr1 = "Mozilla/5.0 (iPhone; U; CPU like Mac OS X; en) AppleWebKit/420+ (KHTML, like Gecko) Version/3.0 Mobile/1C28 Safari/419.3" },
new ComboPopupItem() {Image=SuperDesign.Properties.Resources.iphone, Text = "Safari Mac浏览器", ValueStr1 = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.6 Safari/605.1.15" },
new ComboPopupItem() {Image=SuperDesign.Properties.Resources.iphone, Text = "Edge浏览器 Mac版", ValueStr1 = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36 Edg/128.0.0.0" },
new ComboPopupItem() {Image=SuperDesign.Properties.Resources.iphone, Text = "Chrome浏览器 Mac版", ValueStr1 = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36" },
});
CbbUserAgent.SelectedIndex = 0;
TxtPost.AddSeparatorMenu();
TxtPost.AddMenu("将选定项进行Url编码(UTF8)", "").Click += new EventHandler((object sender2, EventArgs e2) =>
@@ -273,9 +325,9 @@ namespace 开发辅助工具.Tools
}
if (CbbUserAgent.SelectedIndex != -1)
{
if (CbbUserAgent.SelectedItem is UserAgentInfo info)
if (CbbUserAgent.SelectedItem is ComboPopupItem info)
{
item.UserAgent = info.useragent;
item.UserAgent = info.ValueStr1;
}
}
if (!string.IsNullOrEmpty(this.CbbIp.Text.Trim()))
@@ -314,6 +366,15 @@ namespace 开发辅助工具.Tools
{
uri = new Uri(item.URL);
var host = uri.Host.ToLower();
if(!System.IO.File.Exists(Application.StartupPath+ "\\SysDb\\webicons\\"+host+".png") &&
!System.IO.File.Exists(Application.StartupPath + "\\UserDb\\webicons\\" + host + ".ico"))
{
var img = RyImage.LoadPic(uri.Scheme+"://"+uri.Host+ "/favicon.ico");
if(img!=null)
{
img.Save(Application.StartupPath + "\\UserDb\\webicons\\" + host + ".ico");
}
}
if (host.IndexOfEx("www.87g") == 0 || host.IndexOfEx("www.3h3") == 0
|| host.IndexOfEx("www.downxia") == 0 || host.IndexOfEx("www.downbank") == 0 || host.IndexOfEx("www.downxing") == 0 || host.IndexOfEx("downwn.com") == 0)
{
@@ -441,7 +502,7 @@ namespace 开发辅助工具.Tools
db.Free();
}
}
catch { }
catch(Exception ex) { MessageBox.Show(ex.Message); }
}
this.Invoke(new Action(() =>
{
@@ -763,6 +824,7 @@ namespace 开发辅助工具.Tools
method= RbGet.Checked ? "get" : "post";
}
mySQL.AddField("Method", method);
mySQL.AddField("UserAgent", CbbUserAgent.Text);
mySQL.AddField("Referer", CbbReferer.Text);
mySQL.AddField("ContentType", CbbContentType.Text);
mySQL.AddField("Encoding", CbbEncoding.Text);
@@ -813,6 +875,7 @@ namespace 开发辅助工具.Tools
db.Free();
}
bool proc_use = false;
private bool IsAddNewUrl = false;
private void ClickItem(bool run = false)
{
if (objectListView2.SelectedObject!=null)
@@ -835,6 +898,7 @@ namespace 开发辅助工具.Tools
SetValueByRich(TxtCookie,"Cookie");
SetValueByHightlight(TxtPost, "Postdata");
SetValueByRich(TxtInputHeader, "Header");
SetValue2(CbbUserAgent, "UserAgent");
SetValue(CbbReferer, "Referer");
SetValue2(CbbContentType, "ContentType");
SetValue3(CbbEncoding, "Encoding");
@@ -861,7 +925,26 @@ namespace 开发辅助工具.Tools
}
void SetValue2(ryControls.ComboBoxEx2 cbb, string Field)
{
if (row[Field].ToString().Length>0) { cbb.Text = row[Field].ToString(); }
if (row[Field].ToString().Length>0)
{
var have = false;
for (int i = 0; i < cbb.Items.Count; i++)
{
if(cbb.Items[i] is ComboPopupItem item2)
{
if(item2.ValueStr1== row[Field].ToString())
{
cbb.SelectedIndex = i;
have = true;
break;
}
}
}
if (!have)
{
cbb.Text = row[Field].ToString();
}
}
}
void SetValue3(ryControls.RyComboBox cbb, string Field)
{
@@ -875,6 +958,7 @@ namespace 开发辅助工具.Tools
db.Free();
}
TxtUrl.Text = url;
IsAddNewUrl = false;
if (TxtCookie.Text != "") { tabPage2.Text = "Cookie(有数据)"; }
else { tabPage2.Text = "Cookie"; }
if (TxtInputHeader.Text != "") { tabPage7.Text = "Header(有数据)"; }
@@ -916,12 +1000,38 @@ namespace 开发辅助工具.Tools
{
db.AddParameter("SearchText", "%" + TxtUrl.Text + "%");
db.AddParameter("today",DateTime.Now.Date);
Dictionary<string, Image> dict_icon = new Dictionary<string, Image>();
DataSet ds2 = db.ReadData("select * from Urls" + sql_where + " and editTime>=@today order by IsFav desc,editTime desc", db.GetParameter());
for (int i = 0; i < ds2.Tables[0].Rows.Count; i++)
{
DataRow row = ds2.Tables[0].Rows[i];
DateTime editTime = row["editTime"].ToDateTime();
Image icon = null;
try
{
var uri = new Uri(row["Url"].ToString());
if(dict_icon.ContainsKey(uri.Host))
{
icon=dict_icon[uri.Host];
}
else
{
if (System.IO.File.Exists(Application.StartupPath + "\\SysDb\\webicons\\" + uri.Host + ".png"))
{
icon = RyImage.LoadPic(Application.StartupPath + "\\SysDb\\webicons\\" + uri.Host + ".png");
}
else if (System.IO.File.Exists(Application.StartupPath + "\\UserDb\\webicons\\" + uri.Host + ".ico"))
{
icon = RyImage.LoadPic(Application.StartupPath + "\\UserDb\\webicons\\" + uri.Host + ".ico");
}
else if (System.IO.File.Exists(Application.StartupPath + "\\UserDb\\webicons\\" + uri.Host + ".png"))
{
icon = RyImage.LoadPic(Application.StartupPath + "\\UserDb\\webicons\\" + uri.Host + ".png");
}
dict_icon[uri.Host] = icon;
}
}
catch { }
var item = new UrlInfo()
{
Id = row["id"].ToInt(),
@@ -929,7 +1039,8 @@ namespace 开发辅助工具.Tools
Des = row["Des"].ToString(),
Url = row["Url"].ToString(),
ClickCount = row["ClickCount"].ToInt(),
Fav = row["IsFav"].ToInt() == 1
Fav = row["IsFav"].ToInt() == 1,
Icon=icon
};
if (editTime >= DateTime.Now.AddMinutes(-10))
{
@@ -946,11 +1057,40 @@ namespace 开发辅助工具.Tools
{
DataRow row = ds.Tables[0].Rows[i];
DateTime editTime = row["editTime"].ToDateTime();
var item = new UrlInfo() { Id = row["id"].ToInt(), Name = row["Name"].ToString(),
Image icon = null;
try
{
var uri = new Uri(row["Url"].ToString());
if (dict_icon.ContainsKey(uri.Host))
{
icon = dict_icon[uri.Host];
}
else
{
if (System.IO.File.Exists(Application.StartupPath + "\\SysDb\\webicons\\" + uri.Host + ".png"))
{
icon = RyImage.LoadPic(Application.StartupPath + "\\SysDb\\webicons\\" + uri.Host + ".png");
}
else if (System.IO.File.Exists(Application.StartupPath + "\\UserDb\\webicons\\" + uri.Host + ".ico"))
{
icon = RyImage.LoadPic(Application.StartupPath + "\\UserDb\\webicons\\" + uri.Host + ".ico");
}
else if (System.IO.File.Exists(Application.StartupPath + "\\UserDb\\webicons\\" + uri.Host + ".png"))
{
icon = RyImage.LoadPic(Application.StartupPath + "\\UserDb\\webicons\\" + uri.Host + ".png");
}
dict_icon[uri.Host] = icon;
}
}
catch { }
var item = new UrlInfo() {
Id = row["id"].ToInt(), Name = row["Name"].ToString(),
Des = row["Des"].ToString(),
Url = row["Url"].ToString(),
ClickCount = row["ClickCount"].ToInt(),
Fav = row["IsFav"].ToInt()==1 };
Fav = row["IsFav"].ToInt()==1,
Icon=icon
};
if (editTime >= DateTime.Now.AddMinutes(-10))
{
list.Insert(0,item);
@@ -966,6 +1106,7 @@ namespace 开发辅助工具.Tools
objectListView2.Visible = list.Count != 0;
objectListView2.BringToFront();
}
IsAddNewUrl = true;
#endregion
}
@@ -989,6 +1130,38 @@ namespace 开发辅助工具.Tools
private void TxtUrl_Leave(object sender, EventArgs e)
{
if (IsAddNewUrl && !objectListView2.Visible)
{
if (TxtCookie.Text.Length > 0 && TxtInputHeader.Text.Length > 0)
{
if (MessageBox.Show("你修改了新Url,是否要清空Cookie和Header?", "询问", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button2) == DialogResult.OK)
{
TxtCookie.Text = "";
TxtInputHeader.Text = "";
}
}
else if (TxtCookie.Text.Length > 0)
{
if (MessageBox.Show("你修改了新Url,是否要清空Cookie?", "询问", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button2) == DialogResult.OK)
{
TxtCookie.Text = "";
}
}
else if (TxtInputHeader.Text.Length > 0)
{
if (MessageBox.Show("你修改了新Url,是否要清空Header?", "询问", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button2) == DialogResult.OK)
{
TxtInputHeader.Text = "";
}
}
if (CbbReferer.Text.Length > 0)
{
if (MessageBox.Show("你修改了新Url,是否要清空引用页?", "询问", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button2) == DialogResult.OK)
{
CbbReferer.Text = "";
}
}
}
if (!objectListView2.Focused)
{
objectListView2.Visible = false;
@@ -1429,9 +1602,9 @@ namespace 开发辅助工具.Tools
};
if (CbbUserAgent.SelectedIndex != -1)
{
if (CbbUserAgent.SelectedItem is UserAgentInfo info2)
if (CbbUserAgent.SelectedItem is ComboPopupItem info2)
{
item.UserAgent = info2.useragent;
item.UserAgent = info2.ValueStr1;
}
}
if (!string.IsNullOrEmpty(this.CbbIp.Text.Trim()))
@@ -1653,6 +1826,7 @@ namespace 开发辅助工具.Tools
else if (Method == "head") { RbHead.Checked = true; }
else { RbGet.Checked = true; }
TxtUrl.Text = json_set.GetJsonValue("Url", "");
IsAddNewUrl = false;
CbbEncoding.Text = json_set.GetJsonValue("Encoding", "");
CbbTimeout.Text = json_set.GetJsonValue("Timeout", "");
CbbWriteTimeout.Text = json_set.GetJsonValue("WriteTimeout", "");
@@ -1781,6 +1955,25 @@ namespace 开发辅助工具.Tools
highlightEditor1.SetHightlightText(curl, "bat");
tabControl2.SelectedTab = tabPage12;
}
private void CbbUserAgent_SelectedIndexChanged(object sender, EventArgs e)
{
if (CbbUserAgent.SelectedIndex != -1)
{
if (CbbUserAgent.SelectedItem is ComboPopupItem info2)
{
CbbUserAgent.ToolTipText= info2.ValueStr1;
}
else
{
CbbUserAgent.ToolTipText = CbbUserAgent.Text;
}
}
else
{
CbbUserAgent.ToolTipText = CbbUserAgent.Text;
}
}
}
public class UrlInfo
{
@@ -1793,14 +1986,6 @@ namespace 开发辅助工具.Tools
/// 是否收藏
/// </summary>
public bool Fav { get; set; } = false;
}
public class UserAgentInfo
{
public string name = "";
public string useragent = "";
public override string ToString()
{
return name;
}
public Image Icon { get; set; } = null;
}
}
+29 -29
View File
@@ -117,33 +117,33 @@
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="toolTip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>423, 17</value>
</metadata>
<metadata name="contextMenuStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>141, 17</value>
</metadata>
<metadata name="menuRight1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="BtnMore.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAeFJREFUWEe9
ldErBFEYxefVX+BlX7Rzv+8iSma+a1OS8qCUB3lUnjz4J0SUEomIUkoRf5EHpZQHpTwo5UHRLDszzt7d
vbPu7K+mdr85954zs7NzgiAIguFqLQzD8WryuWwGBkw/sxmtVGp99UEYmiEm+UoOIlnHBT7RKlrMvOK1
+jC58sawzBDMZoGUfGY+Zjk9mZiWGUIrmWeSj8zD3KCmtBBE0RwreU/3ZrlCTYrvEIPKzDLJW27PS9Q0
4SsEs8wwyWu2j7lATUv+G2JQxVNM8pLb4xw1Hek2BHM0SUqes3XxGWqcKRpCqQnDJE/pGiUnqCmMawhm
iZjlMac7Qk3XdAoRhtEYkzxkV24O8ue90CqE1rURIrlvzDXJHq71hi0Ek7lLZxzv4hondBhNJwfObWCI
7LbLDmptJOWnVbySDrQWym5fvPFH3QIMQSTbqLHBLEuplzKr9SG2IbNs4UIbaQhlNvGcjbz5T+g2beh6
O/Hf0Ao0d2rDrh8ooMm8SBtqkn3UFKHJvMs2PESNC2j+rzZkMseoaQeae2lDZjlFjQ0099qGna4EzUtq
Q/tviealtiE+zWjeqza8TuZo3tM2ZJLbP989vbzaYgnxe9vdXt9ewBCubeiVom1YCq5t2I5vVLR22kys
XlkAAAAASUVORK5CYII=
</value>
</data>
<metadata name="toolTip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>423, 17</value>
</metadata>
<metadata name="MenuMore.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>306, 17</value>
</metadata>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="BtnShare.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABGdBTUEAALGPC/xhBQAAAglJREFUaEPt
mettwzAMhD1KR8koziQdpSMEcAbwKB6lBcU8HIqUdBKlGEU+gH/aUrqjaVp2p+nDh07M1+9pXn6m87JN
5+W3IDbOuXzJpcYyX0+KuPIgE61UF4E2l4JqopVwJdFCkGsppC42uTTMvZBQS56XVRGDB1w5hX0nFJnw
qr6HeCJu5TVtwr5xabKc5J+7QsLmZX70PU8+rRsSJmLHvhWVBMHQiL7HppsYYYCuJIuO98FCMdHbgN4S
LSFM9DJArSLX9IyHiR4G/KuuxcqbeRrgkTxQfNjUyQCLRycLHjQMXjd2MjCi8qomDwP14tdQ0RC3h5m1
Fg0FlVYDVr4WLHaOZ/kObb3kiUBL4KS8gZJzFFc3IUAg9WRzZQJiwLrcD+GJSlvs9WTFE7UG7ENg4uBV
AOsBDpK1BrSRmcspgU+nheKJGgNx7wMV86bKwEvO7qn4DmoMHEY8gRp4tk/7C7wLsIH7lGiYNCU8XzUz
9xZqgH+XWbQR+XyxtAQQA+ElXPm5J/GEu+nxOAuZizhi6rH2NhM0A537nkD0BOCEzsB64ITOwHrghM7A
euCEzsB64ITOwHrghM7AeqwvaNHni0FY31BtA+abFcUaEkeFPEK8GkgcX7S3q6NFEnYfJx0lSF+W416F
wveOUd82saB7MNH7GtxO7zdS1DYpwr+FlEnRNTKfHf8bf6XooWOz/B1WAAAAAElFTkSuQmCC
</value>
</data>
<data name="BtnSetting.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAj9JREFUWEft
@@ -159,18 +159,18 @@
zn1q0AY31aIeqje67w35nxkHkkdnx0z/8z/OP/FHzL6w8yGpAAAAAElFTkSuQmCC
</value>
</data>
<data name="BtnShare.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<data name="BtnMore.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABGdBTUEAALGPC/xhBQAAAglJREFUaEPt
mettwzAMhD1KR8koziQdpSMEcAbwKB6lBcU8HIqUdBKlGEU+gH/aUrqjaVp2p+nDh07M1+9pXn6m87JN
5+W3IDbOuXzJpcYyX0+KuPIgE61UF4E2l4JqopVwJdFCkGsppC42uTTMvZBQS56XVRGDB1w5hX0nFJnw
qr6HeCJu5TVtwr5xabKc5J+7QsLmZX70PU8+rRsSJmLHvhWVBMHQiL7HppsYYYCuJIuO98FCMdHbgN4S
LSFM9DJArSLX9IyHiR4G/KuuxcqbeRrgkTxQfNjUyQCLRycLHjQMXjd2MjCi8qomDwP14tdQ0RC3h5m1
Fg0FlVYDVr4WLHaOZ/kObb3kiUBL4KS8gZJzFFc3IUAg9WRzZQJiwLrcD+GJSlvs9WTFE7UG7ENg4uBV
AOsBDpK1BrSRmcspgU+nheKJGgNx7wMV86bKwEvO7qn4DmoMHEY8gRp4tk/7C7wLsIH7lGiYNCU8XzUz
9xZqgH+XWbQR+XyxtAQQA+ElXPm5J/GEu+nxOAuZizhi6rH2NhM0A537nkD0BOCEzsB64ITOwHrghM7A
euCEzsB64ITOwHrghM7AeqwvaNHni0FY31BtA+abFcUaEkeFPEK8GkgcX7S3q6NFEnYfJx0lSF+W416F
wveOUd82saB7MNH7GtxO7zdS1DYpwr+FlEnRNTKfHf8bf6XooWOz/B1WAAAAAElFTkSuQmCC
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAeFJREFUWEe9
ldErBFEYxefVX+BlX7Rzv+8iSma+a1OS8qCUB3lUnjz4J0SUEomIUkoRf5EHpZQHpTwo5UHRLDszzt7d
vbPu7K+mdr85954zs7NzgiAIguFqLQzD8WryuWwGBkw/sxmtVGp99UEYmiEm+UoOIlnHBT7RKlrMvOK1
+jC58sawzBDMZoGUfGY+Zjk9mZiWGUIrmWeSj8zD3KCmtBBE0RwreU/3ZrlCTYrvEIPKzDLJW27PS9Q0
4SsEs8wwyWu2j7lATUv+G2JQxVNM8pLb4xw1Hek2BHM0SUqes3XxGWqcKRpCqQnDJE/pGiUnqCmMawhm
iZjlMac7Qk3XdAoRhtEYkzxkV24O8ue90CqE1rURIrlvzDXJHq71hi0Ek7lLZxzv4hondBhNJwfObWCI
7LbLDmptJOWnVbySDrQWym5fvPFH3QIMQSTbqLHBLEuplzKr9SG2IbNs4UIbaQhlNvGcjbz5T+g2beh6
O/Hf0Ao0d2rDrh8ooMm8SBtqkn3UFKHJvMs2PESNC2j+rzZkMseoaQeae2lDZjlFjQ0099qGna4EzUtq
Q/tviealtiE+zWjeqza8TuZo3tM2ZJLbP989vbzaYgnxe9vdXt9ewBCubeiVom1YCq5t2I5vVLR22kys
XlkAAAAASUVORK5CYII=
</value>
</data>
<metadata name="MenuSetting.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
@@ -48,6 +48,7 @@
this.Rich1.Size = new System.Drawing.Size(356, 497);
this.Rich1.TabIndex = 0;
this.Rich1.Text = "";
this.Rich1.WordWrap = true;
//
// Rich2
//
@@ -60,10 +61,10 @@
this.Rich2.Size = new System.Drawing.Size(356, 497);
this.Rich2.TabIndex = 1;
this.Rich2.Text = "";
this.Rich2.WordWrap = true;
//
// BtnSubmit
//
this.BtnSubmit.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.BtnSubmit.BaseColor = System.Drawing.Color.Green;
this.BtnSubmit.ColorGradient = true;
this.BtnSubmit.Location = new System.Drawing.Point(2, 5);
@@ -77,7 +78,6 @@
//
// BtnCancel
//
this.BtnCancel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.BtnCancel.BaseColor = System.Drawing.Color.FromArgb(((int)(((byte)(192)))), ((int)(((byte)(0)))), ((int)(((byte)(0)))));
this.BtnCancel.ColorGradient = true;
this.BtnCancel.Location = new System.Drawing.Point(83, 5);
@@ -0,0 +1,100 @@
namespace SuperDesign.Tools.UpLog
{
partial class FrmGroupSelected
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FrmGroupSelected));
this.objectListView1 = new BrightIdeasSoftware.ObjectListView();
this.OlvGroup = ((BrightIdeasSoftware.OLVColumn)(new BrightIdeasSoftware.OLVColumn()));
this.BtnDel = new ryControls.ButtonEx();
((System.ComponentModel.ISupportInitialize)(this.objectListView1)).BeginInit();
this.SuspendLayout();
//
// objectListView1
//
this.objectListView1.AllColumns.Add(this.OlvGroup);
this.objectListView1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.objectListView1.CellEditUseWholeCell = false;
this.objectListView1.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
this.OlvGroup});
this.objectListView1.Cursor = System.Windows.Forms.Cursors.Default;
this.objectListView1.FullRowSelect = true;
this.objectListView1.HideSelection = false;
this.objectListView1.Location = new System.Drawing.Point(12, 42);
this.objectListView1.Name = "objectListView1";
this.objectListView1.Size = new System.Drawing.Size(636, 504);
this.objectListView1.TabIndex = 0;
this.objectListView1.UseCompatibleStateImageBehavior = false;
this.objectListView1.View = System.Windows.Forms.View.Details;
this.objectListView1.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.ObjectListView1_MouseDoubleClick);
//
// OlvGroup
//
this.OlvGroup.Text = "分组";
this.OlvGroup.Width = 300;
//
// BtnDel
//
this.BtnDel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.BtnDel.BaseColor = System.Drawing.Color.FromArgb(((int)(((byte)(192)))), ((int)(((byte)(0)))), ((int)(((byte)(0)))));
this.BtnDel.ColorGradient = true;
this.BtnDel.Location = new System.Drawing.Point(573, 3);
this.BtnDel.Name = "BtnDel";
this.BtnDel.Size = new System.Drawing.Size(75, 33);
this.BtnDel.TabIndex = 12;
this.BtnDel.Text = "删除";
this.BtnDel.UseDefSkin = false;
this.BtnDel.UseVisualStyleBackColor = true;
this.BtnDel.Click += new System.EventHandler(this.BtnDel_Click);
//
// FrmGroupSelected
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(660, 558);
this.Controls.Add(this.BtnDel);
this.Controls.Add(this.objectListView1);
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.Name = "FrmGroupSelected";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
this.Text = "分组";
this.Load += new System.EventHandler(this.FrmGroupSelected_Load);
((System.ComponentModel.ISupportInitialize)(this.objectListView1)).EndInit();
this.ResumeLayout(false);
}
#endregion
private BrightIdeasSoftware.ObjectListView objectListView1;
private BrightIdeasSoftware.OLVColumn OlvGroup;
private ryControls.ButtonEx BtnDel;
}
}
@@ -0,0 +1,128 @@
using Newtonsoft.Json.Linq;
using ryCommon;
using ryCommonDb;
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;
namespace SuperDesign.Tools.UpLog
{
public partial class FrmGroupSelected : Form
{
public FrmGroupSelected()
{
InitializeComponent();
OlvGroup.AspectGetter = delegate (object x) { return ((GroupInfo)x).GroupName; };
}
public string ProjectName { get; set; }
public string DbPath { get; set; }
public string SelectedGroupName { get; private set; } = "";
class GroupInfo
{
public string GroupName { get; set; }
public long Time { get; set; }
}
private void ObjectListView1_MouseDoubleClick(object sender, MouseEventArgs e)
{
if (objectListView1.SelectedObject == null) { return; }
var item = (GroupInfo)objectListView1.SelectedObject;
SelectedGroupName = item.GroupName;
DialogResult = DialogResult.OK;
}
private void FrmGroupSelected_Load(object sender, EventArgs e)
{
IDbInterface db = new SQLiteDataProvider();
if (db.ConnDb(DbPath) == 1)
{
JObject jo_group;
try
{
var ds_group = db.ReadData("select * from Settings where Name='GroupList'");
if (ds_group.HaveData())
{
jo_group = JObject.Parse(ds_group.GetRow(0)["Value"].ToString());
}
else
{
jo_group = new JObject();
}
ds_group?.Dispose();
}
catch { jo_group = new JObject(); }
var jarr_group = jo_group.GetJsonValue("group_" +ProjectName, new JArray());
List<GroupInfo> list = new List<GroupInfo>();
for (int i = 0; i < jarr_group.Count; i++)
{
list.Add(new GroupInfo()
{
GroupName = jarr_group[i].GetJsonValue("text",""),
Time = jarr_group[i].GetJsonValue("time", 0L),
});
}
objectListView1.AddObjects(list);
}
db.Free();
}
private void BtnDel_Click(object sender, EventArgs e)
{
if (objectListView1.SelectedObject == null) {
MessageBox.Show("请选择分组。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
if (MessageBox.Show("是否确认要删除该分组?", "询问", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button2) != DialogResult.OK)
{
return;
}
var item = (GroupInfo)objectListView1.SelectedObject;
IDbInterface db = new SQLiteDataProvider();
if (db.ConnDb(DbPath) == 1)
{
JObject jo_group;
try
{
var ds_group = db.ReadData("select * from Settings where Name='GroupList'");
if (ds_group.HaveData())
{
jo_group = JObject.Parse(ds_group.GetRow(0)["Value"].ToString());
}
else
{
jo_group = new JObject();
}
ds_group?.Dispose();
}
catch { jo_group = new JObject(); }
var jarr_group = jo_group.GetJsonValue("group_" + ProjectName, new JArray());
for (int i = 0; i < jarr_group.Count; i++)
{
if(jarr_group[i].GetJsonValue("text", "")==item.GroupName)
{
jarr_group[i].Remove();
objectListView1.RemoveObject(item);
break;
}
}
jo_group["group_" + ProjectName] = jarr_group;
RyQuickSQL MySQL_Setting = new RyQuickSQL("Settings");
MySQL_Setting.AddField("Name", "GroupList");
MySQL_Setting.AddField("Value", jo_group.ToString());
MySQL_Setting.AddField("EditTime", DateTime.Now);
if (db.Update(MySQL_Setting, "Name=@Name") == 0)
{
MySQL_Setting.AddField("AddTime", DateTime.Now);
db.Insert(MySQL_Setting);
}
}
db.Free();
}
}
}
@@ -0,0 +1,135 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAABAAEAICAAAAAAIAAxAgAAFgAAAIlQTkcNChoKAAAADUlIRFIAAAAgAAAAIAgGAAAAc3p69AAAAARn
QU1BAACxjwv8YQUAAAHoSURBVFhHxVZLTsMwEO1ROEgXPQqLInEAVmx6hNwAH6EiLCoWkEWFIkGlsi0b
Lyp1AwuKaMVH7UNj7MoeJ46bNPCkJ7XJeN6zPfak06mJpI9BcgIkJ5D0m79vDZYwZ7tGtLAsEOY8rJGk
j16kMCeNOeb5opGc4qimMCetSI/nL4UWzgoSNWXYiBYWBQMPTeEYUcLlld0mBWl3WlruWMr/NiD+cu9d
8ruixernzNTel4Euj5aMhI9hPnRdaSOtXESOFv3JU2R5CuQphP3SOqJ1jHhXsdK6wkBrZUorTyH1A0Op
goqNcJEies2ICTtaZMDMnnNfI/sIG4qYIGXETsy2po4weE5TC8ILDBgpwt7CHIsZurN7TL2BASMxM368
Rb5+w5k9zgEtK4AMGh8rjGgQT+QY+WVZDSlObzD/WiMxeQHIyQhdR9hcPHeXGH9/IreDV0uMKQlPXEUa
876EsHJhs8H86WF3ye26IT/jkoxQsBm43WL++oxhjBGKodiAsKNV2g0vzjGfXGPIjbws1JLzu4Mo6V2k
sGFWdbaVEUpC28GNUI3QjGsIE4VXhKG2bBkJIkK4ohtWtGXLyM5M5Iy9phRElRFjhsifNxLmaNCWvW5Y
G3o1Yo14veFgqPg+aE+YwzJCNdJI+AcH16VD0jG8swAAAABJRU5ErkJggg==
</value>
</data>
</root>
@@ -0,0 +1,102 @@
namespace SuperDesign.Tools.UpLog
{
partial class FrmSaveContent
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FrmSaveContent));
this.Rich1 = new ryControls.Controls.RichTextBox2();
this.BtnSave = new ryControls.ButtonEx();
this.BtnCancel = new ryControls.ButtonEx();
this.SuspendLayout();
//
// Rich1
//
this.Rich1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.Rich1.DetectUrls = false;
this.Rich1.EmptyText = "";
this.Rich1.Font = new System.Drawing.Font("Courier New", 10F);
this.Rich1.Location = new System.Drawing.Point(1, 44);
this.Rich1.Name = "Rich1";
this.Rich1.OnlyInputText = true;
this.Rich1.Size = new System.Drawing.Size(786, 515);
this.Rich1.TabIndex = 0;
this.Rich1.Text = "";
this.Rich1.WordWrap = true;
//
// BtnSave
//
this.BtnSave.BaseColor = System.Drawing.Color.Green;
this.BtnSave.ColorGradient = true;
this.BtnSave.Location = new System.Drawing.Point(2, 5);
this.BtnSave.Name = "BtnSave";
this.BtnSave.Size = new System.Drawing.Size(75, 33);
this.BtnSave.TabIndex = 10;
this.BtnSave.Text = "保存";
this.BtnSave.UseDefSkin = false;
this.BtnSave.UseVisualStyleBackColor = true;
this.BtnSave.Click += new System.EventHandler(this.BtnSubmit_Click);
//
// BtnCancel
//
this.BtnCancel.BaseColor = System.Drawing.Color.FromArgb(((int)(((byte)(192)))), ((int)(((byte)(0)))), ((int)(((byte)(0)))));
this.BtnCancel.ColorGradient = true;
this.BtnCancel.Location = new System.Drawing.Point(83, 5);
this.BtnCancel.Name = "BtnCancel";
this.BtnCancel.Size = new System.Drawing.Size(75, 33);
this.BtnCancel.TabIndex = 11;
this.BtnCancel.Text = "取消";
this.BtnCancel.UseDefSkin = false;
this.BtnCancel.UseVisualStyleBackColor = true;
this.BtnCancel.Click += new System.EventHandler(this.BtnCancel_Click);
//
// FrmSaveContent
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(790, 563);
this.Controls.Add(this.BtnCancel);
this.Controls.Add(this.BtnSave);
this.Controls.Add(this.Rich1);
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.Name = "FrmSaveContent";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
this.Text = "内容设置";
this.Load += new System.EventHandler(this.FrmCompareLog_Load);
this.Resize += new System.EventHandler(this.FrmCompareLog_Resize);
this.ResumeLayout(false);
}
#endregion
private ryControls.ButtonEx BtnSave;
private ryControls.ButtonEx BtnCancel;
public ryControls.Controls.RichTextBox2 Rich1;
}
}
@@ -0,0 +1,37 @@
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;
namespace SuperDesign.Tools.UpLog
{
public partial class FrmSaveContent : Form
{
public FrmSaveContent()
{
InitializeComponent();
}
private void FrmCompareLog_Resize(object sender, EventArgs e)
{
}
private void FrmCompareLog_Load(object sender, EventArgs e)
{
}
private void BtnSubmit_Click(object sender, EventArgs e)
{
DialogResult = DialogResult.OK;
}
private void BtnCancel_Click(object sender, EventArgs e)
{
DialogResult = DialogResult.Cancel;
}
}
}
@@ -0,0 +1,133 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAABAAEAICAAAAAAIADGAQAAFgAAAIlQTkcNChoKAAAADUlIRFIAAAAgAAAAIAgGAAAAc3p69AAAAARn
QU1BAACxjwv8YQUAAAF9SURBVFhHY2CAgsOP/zscevR//qFH/+8fevT//9rTr/5L6oRSjNVss/5P33Ll
P8hMqNn7QXbB7AWDQ4/+J0AVwDFIE8gAoZRXFGE5cxQHwPHhh//rkX2OoQCkCaRZMPc/RRiXA0B4//3/
CiDfg4IdQ5JcB/hO+v9/6Yn///XrCTsAFB0gB6ALUuQAGDh8iygH/KeZA0BgZDvg4dsBcgAoAYJAxzYI
X9GSTAeACiJQISIcewXDEkIYlgNAekFlCcgsdPMJOgCES6bu/y9tmgUuUNAtIYRBemQdGv5HFkzFMJdo
B4BcntSw6r+yddZ/ZZcGkjDI54QsJ+gAGAY5pGnefpIwuhm4MFEOoCUedcCoA0YdMOoAgg5Yf+/T/9IL
Z0nGHVdvgvWim4eOCTrA/8Tm/xr7Z5GFrQ8vxzAPHQ9+B4CCERSc6EFMDKZKFNAagxwA7ooNEL4PcgDW
jgmd8H5Y12xAQgHeSQV1FNEl6YATUHrI0JDYT4fQmI/cPQcAn3IBrGGmgNcAAAAASUVORK5CYII=
</value>
</data>
</root>
@@ -99,7 +99,7 @@ namespace SuperDesign.Tools
DateTime retStartDay = DateTime.Now.Date.AddDays(-(index - 1));
if(dt >= retStartDay && dt < retStartDay.AddDays(7))
{
dt_str = "本周 " + dt.ToString("dd HH:mm");
dt_str = "本" + dt.ToString("ddd HH:mm");
}
}
line += "<span color='red'>" + System.Web.HttpUtility.HtmlEncode("=>" + dt_str) + "</span>";