## 📅2026-04-11 星期六更新

### RySmartEditor    V1.0.2604.1101
- *.[新增]新增支持站点禁用功能。
### SuperDesign    V3.0.2604.1101
- *.[新增]更新dll版本功能新增进度展示,并提示替换的dll数量。
- *.[修复]修复生成C#代码时,多行Cookie和PostData生成错误的BUG。
- *.[修复]修复更新引用dll时,如果dll不存在,会更新失败的BUG。
This commit is contained in:
紫林软件 2026-04-11 13:48:21 +08:00
parent 9d3ea0c979
commit ee1a5b9c34
24 changed files with 476 additions and 200 deletions

Binary file not shown.

View File

@ -1251,11 +1251,16 @@
取消事件
</summary>
</member>
<member name="P:ryCommon.BigFileOp.SkipSameFiles">
<summary>
是否跳过相同文件,默认不跳过(根据文件大小和修改时间来判断)
</summary>
</member>
<member name="M:ryCommon.BigFileOp.CopyBigFile(System.String,System.String,System.Object)">
<summary>
大文件按流复制文件,支持自动创建目标文件夹。 true复制成功 false复制失败
</summary>
<param name="soucrePath">原始文件路径</param>
<param name="sourcePath">原始文件路径</param>
<param name="targetPath">复制目标文件路径</param>
<param name="Tag">携带的参数(可选)</param>
<returns></returns>
@ -1753,6 +1758,11 @@
XML
</summary>
</member>
<member name="F:ryCommon.Pram.SettingType.Json">
<summary>
Json
</summary>
</member>
<member name="T:ryCommon.Pram.ObjectItem">
<summary>
对象值
@ -2962,127 +2972,6 @@
全屏平铺
</summary>
</member>
<member name="T:ryCommon.RySetting">
<summary>
设置管理类,快速添加设置。
</summary>
</member>
<member name="M:ryCommon.RySetting.#ctor">
<summary>
设置管理类,快速添加设置。
</summary>
</member>
<member name="M:ryCommon.RySetting.#ctor(System.String)">
<summary>
设置管理类,快速添加设置。
</summary>
<param name="_FilePath"></param>
</member>
<member name="F:ryCommon.RySetting.FileType">
<summary>
存储类型
</summary>
</member>
<member name="F:ryCommon.RySetting.FilePath">
<summary>
配置存储路径
</summary>
</member>
<member name="F:ryCommon.RySetting.SettingXML">
<summary>
设置XML内容
</summary>
</member>
<member name="M:ryCommon.RySetting.Add(System.String,System.Windows.Forms.Control)">
<summary>
添加控件
</summary>
<param name="_id"></param>
<param name="ctl"></param>
<returns></returns>
</member>
<member name="M:ryCommon.RySetting.Add(System.String,System.String)">
<summary>
设置值
</summary>
<param name="_id"></param>
<param name="value"></param>
<returns></returns>
</member>
<member name="M:ryCommon.RySetting.Add(System.String,System.Windows.Forms.Control,ryCommon.Pram.CValueType,System.Object)">
<summary>
添加控件
</summary>
<param name="_id"></param>
<param name="ctl"></param>
<param name="valuetype"></param>
<param name="_defValue"></param>
<returns></returns>
</member>
<member name="M:ryCommon.RySetting.Add(System.String,System.Windows.Forms.NumericUpDown,System.Decimal)">
<summary>
添加控件
</summary>
<param name="_id"></param>
<param name="ctl"></param>
<param name="_defValue"></param>
<returns></returns>
</member>
<member name="M:ryCommon.RySetting.Add(System.String,System.Windows.Forms.DateTimePicker,System.DateTime)">
<summary>
添加控件
</summary>
<param name="_id"></param>
<param name="ctl"></param>
<param name="_defValue"></param>
<returns></returns>
</member>
<member name="M:ryCommon.RySetting.Add(System.String,System.Windows.Forms.CheckBox,System.Boolean)">
<summary>
添加控件
</summary>
<param name="_id"></param>
<param name="ctl"></param>
<param name="_defValue"></param>
<returns></returns>
</member>
<member name="M:ryCommon.RySetting.Add(System.String,System.Windows.Forms.ComboBox,System.Int32)">
<summary>
添加控件
</summary>
<param name="_id"></param>
<param name="ctl"></param>
<param name="_defValue"></param>
<returns></returns>
</member>
<member name="M:ryCommon.RySetting.Add(System.String,System.Windows.Forms.ComboBox,System.String)">
<summary>
添加控件
</summary>
<param name="_id"></param>
<param name="ctl"></param>
<param name="_defValue"></param>
<returns></returns>
</member>
<member name="M:ryCommon.RySetting.Add(System.String,System.Windows.Forms.TextBox,System.String)">
<summary>
添加控件
</summary>
<param name="_id"></param>
<param name="ctl"></param>
<param name="_defValue"></param>
<returns></returns>
</member>
<member name="M:ryCommon.RySetting.Read">
<summary>
读取配置
</summary>
</member>
<member name="M:ryCommon.RySetting.Save">
<summary>
保存配置
</summary>
</member>
<member name="T:ryCommon.SoundPlay">
<summary>
音频播放类
@ -3634,6 +3523,142 @@
</summary>
</member>
<member name="T:ryCommon.SuperFileSearch">
<summary>
超级文件搜索
</summary>
</member>
<member name="T:ryCommon.SuperFileSearch.CancelActions">
<summary>
取消选项
</summary>
</member>
<member name="F:ryCommon.SuperFileSearch.CancelActions.No">
<summary>
不取消,继续
</summary>
</member>
<member name="F:ryCommon.SuperFileSearch.CancelActions.CurrentDirectory">
<summary>
只取消当前目录
</summary>
</member>
<member name="F:ryCommon.SuperFileSearch.CancelActions.AllDirectories">
<summary>
取消后面的所有搜索
</summary>
</member>
<member name="P:ryCommon.SuperFileSearch.Cancel">
<summary>
是否取消
</summary>
</member>
<member name="T:ryCommon.SuperFileSearch.SearchFileHandler">
<summary>
</summary>
<param name="sender"></param>
<param name="Fileinfo"></param>
<param name="AddToResult">是否将该文件添加到结果</param>
</member>
<member name="E:ryCommon.SuperFileSearch.OnSearchFile">
<summary>
搜索文件事件
</summary>
</member>
<member name="T:ryCommon.SuperFileSearch.SearchDirHandler">
<summary>
</summary>
<param name="sender"></param>
<param name="DirInfo"></param>
<param name="Cancel"></param>
</member>
<member name="E:ryCommon.SuperFileSearch.OnSearchDir">
<summary>
搜索目录事件
</summary>
</member>
<member name="T:ryCommon.SuperFileSearch.SearchErrorHandler">
<summary>
</summary>
<param name="sender"></param>
<param name="id"></param>
<param name="ex"></param>
</member>
<member name="E:ryCommon.SuperFileSearch.OnError">
<summary>
错误事件
</summary>
</member>
<member name="P:ryCommon.SuperFileSearch.GetSubFolder">
<summary>
是否查找搜索子目录
</summary>
</member>
<member name="F:ryCommon.SuperFileSearch.ResultFiles">
<summary>
查找发现的文件列表
</summary>
</member>
<member name="F:ryCommon.SuperFileSearch.ResultDirs">
<summary>
查找发现的目录列表
</summary>
</member>
<member name="P:ryCommon.SuperFileSearch.ResultFilesCount">
<summary>
结果对应的文件数量
</summary>
</member>
<member name="P:ryCommon.SuperFileSearch.ResultDirsCount">
<summary>
结果对应的目录数量
</summary>
</member>
<member name="P:ryCommon.SuperFileSearch.ResultCount">
<summary>
结果对应的文件+目录数量
</summary>
</member>
<member name="P:ryCommon.SuperFileSearch.Tag">
<summary>
</summary>
</member>
<member name="M:ryCommon.SuperFileSearch.Search(System.String,System.String)">
<summary>
搜索查找文件
</summary>
<param name="SearchPath"></param>
<param name="SearchExts"></param>
</member>
<member name="M:ryCommon.SuperFileSearch.Search(System.Collections.Generic.List{System.String},System.String)">
<summary>
搜索查找文件
</summary>
<param name="SearchPaths"></param>
<param name="SearchExts"></param>
</member>
<member name="M:ryCommon.SuperFileSearch.GetFiles(System.String,System.String,System.Boolean)">
<summary>
获取指定文件夹下的文件列表,支持多个扩展名获取,支持获取子文件夹的数据
</summary>
<param name="folder"></param>
<param name="exts"></param>
<param name="GetSubFolder">是否获取子文件夹数据</param>
<returns></returns>
</member>
<member name="M:ryCommon.SuperFileSearch.GetFiles(System.String,System.String)">
<summary>
获取指定文件夹下的文件列表,支持多个扩展名获取(子文件夹里的文件不会去获取)。如果
文件夹不存在,则获取空列表(本函数不会返回null值)
</summary>
<param name="folder">要获取的文件夹路径</param>
<param name="exts">要获取的扩展名列表(例如:*.mp3;*.wav)</param>
<returns></returns>
</member>
<member name="T:ryCommon.TxtFileEncoder">
<summary>
用于取得一个文本文件的编码方式(Encoding)。
@ -13853,6 +13878,11 @@
</summary>
</member>
<member name="P:ryCommonDb.RyQuickSQL.DateToTimeStamp">
<summary>
是否将时间类型转为时间戳
</summary>
</member>
<member name="M:ryCommonDb.RyQuickSQL.GetSearchSQL(System.String,System.String)">
<summary>
输出多条件搜索。
@ -13867,6 +13897,12 @@
</summary>
<returns></returns>
</member>
<member name="M:ryCommonDb.RyQuickSQL.GetJsonData">
<summary>
根据输入的内容,生成Json数据
</summary>
<returns></returns>
</member>
<member name="M:ryCommonDb.RyQuickSQL.GetInsertSQL">
<summary>
获取插入SQL语句
@ -15024,6 +15060,13 @@
</summary>
<param name="Timeout">超时时间</param>
</member>
<member name="M:RyWeb.QuickWeb.#ctor(System.Int32,System.Int32)">
<summary>
</summary>
<param name="Timeout">超时时间</param>
<param name="RetryCount">重试次数</param>
</member>
<member name="M:RyWeb.QuickWeb.Post(System.String,System.String,System.String)">
<summary>
以post方式获取网页源码
@ -15059,6 +15102,11 @@
<param name="post"></param>
<returns></returns>
</member>
<member name="P:RyWeb.QuickWeb.RetryCount">
<summary>
重试次数
</summary>
</member>
<member name="P:RyWeb.QuickWeb.HeadText">
<summary>
头信息
@ -18126,6 +18174,11 @@
版本
</summary>
</member>
<member name="F:LiveUpdate.UpdateInfo.VersionType">
<summary>
版本类型
</summary>
</member>
<member name="F:LiveUpdate.UpdateInfo.UpdateDate">
<summary>
更新日期
@ -20968,6 +21021,12 @@
</summary>
<param name="e"></param>
</member>
<member name="M:ryControls.HotkeyTextBox.OnMouseUp(System.Windows.Forms.MouseEventArgs)">
<summary>
</summary>
<param name="e"></param>
</member>
<member name="M:ryControls.HotkeyTextBox.OnMouseLeave(System.EventArgs)">
<summary>
@ -24063,16 +24122,21 @@
存储类型
</summary>
</member>
<member name="F:ryControls.RySetting.FilePath">
<member name="P:ryControls.RySetting.FilePath">
<summary>
配置存储路径
</summary>
</member>
<member name="F:ryControls.RySetting.SettingXML">
<member name="P:ryControls.RySetting.SettingXML">
<summary>
设置XML内容
</summary>
</member>
<member name="P:ryControls.RySetting.SettingContent">
<summary>
获取/设置配置的内容(适用于xml和json)
</summary>
</member>
<member name="M:ryControls.RySetting.Add(System.String,System.Windows.Forms.Control)">
<summary>
添加控件
@ -24190,6 +24254,81 @@
保存配置
</summary>
</member>
<member name="P:ryControls.RySetting.MemObject">
<summary>
保存到内存中的对象
</summary>
</member>
<member name="M:ryControls.RySetting.ReadToMem">
<summary>
读取内容到内存中
</summary>
</member>
<member name="M:ryControls.RySetting.GetFromMem(System.String,System.Int32)">
<summary>
从内存中读取配置
</summary>
<param name="name"></param>
<param name="defValue"></param>
<returns></returns>
</member>
<member name="M:ryControls.RySetting.GetFromMem(System.String,System.Int64)">
<summary>
从内存中读取配置
</summary>
<param name="name"></param>
<param name="defValue"></param>
<returns></returns>
</member>
<member name="M:ryControls.RySetting.GetFromMem(System.String,System.Boolean)">
<summary>
从内存中读取配置
</summary>
<param name="name"></param>
<param name="defValue"></param>
<returns></returns>
</member>
<member name="M:ryControls.RySetting.GetFromMem(System.String,System.Double)">
<summary>
从内存中读取配置
</summary>
<param name="name"></param>
<param name="defValue"></param>
<returns></returns>
</member>
<member name="M:ryControls.RySetting.GetFromMem(System.String,System.Decimal)">
<summary>
从内存中读取配置
</summary>
<param name="name"></param>
<param name="defValue"></param>
<returns></returns>
</member>
<member name="M:ryControls.RySetting.GetFromMem(System.String,System.String)">
<summary>
从内存中读取配置
</summary>
<param name="name"></param>
<param name="defValue"></param>
<returns></returns>
</member>
<member name="M:ryControls.RySetting.GetFromMem(System.String)">
<summary>
从内存中读取配置
</summary>
<param name="name"></param>
<returns></returns>
</member>
<member name="M:ryControls.RySetting.GetFromMem(System.String,System.Int32,System.Int32,System.Int32)">
<summary>
从内存中读取配置
</summary>
<param name="name"></param>
<param name="min"></param>
<param name="max"></param>
<param name="defValue"></param>
<returns></returns>
</member>
<member name="T:ryControls.ColorHSL">
<summary>
类 名:ColorHSL
@ -30355,12 +30494,12 @@
</member>
<member name="P:TheArtOfDev.HtmlRenderer.WinForms.HtmlLabel.AutoSize">
<summary>
Automatically sets the size of the label by content size
根据内容大小自动设置标签的大小
</summary>
</member>
<member name="P:TheArtOfDev.HtmlRenderer.WinForms.HtmlLabel.AutoSizeHeightOnly">
<summary>
Automatically sets the height of the label by content height (width is not effected).
根据内容高度自动设置标签的高度(宽度不受影响)。
</summary>
</member>
<member name="P:TheArtOfDev.HtmlRenderer.WinForms.HtmlLabel.MaximumSize">

View File

@ -1,4 +1,4 @@
<root>
<list id="LastUpdateTime" Value="2025/7/16 9:17:48" />
<list id="LastUpdateTime" Value="2026/2/25 17:11:08" />
<list id="UpdateAfterTime" Value="0" />
</root>

View File

@ -1,4 +1,14 @@
## :date:2025-08-26 星期二更新
## :date:2026-04-11 星期六更新
### RySmartEditor V1.0.2604.1101
- :cactus:[新增]新增支持站点禁用功能。
### SuperDesign V3.0.2604.1101
- :cactus:[新增]更新dll版本功能新增进度展示,并提示替换的dll数量。
- :lady_beetle:[修复]修复生成C#代码时,多行Cookie和PostData生成错误的BUG。
- :lady_beetle:[修复]修复更新引用dll时,如果dll不存在,会更新失败的BUG。
## :date:2025-08-26 星期二更新
### RySmartEditor V1.0.2508.2601
- :100:[改进]改进上传FTP流畅性。

View File

@ -230,6 +230,7 @@ namespace 开发辅助工具.Manager
mySQL.AddField("localPath", "");
mySQL.AddField("ftpId", 0);
mySQL.AddField("ftpDir", "");
mySQL.AddField("Disabled", 0);
mySQL.AddField("addTime", DateTime.Now);
mySQL.AddField("editTime", DateTime.Now);
db.CreateDb(mySQL);

View File

@ -28,7 +28,15 @@ namespace 开发辅助工具.Manager
OlvSiteName.AspectGetter = delegate (object x) { return ((SiteInfo)x).Name; };
OlvSitePath.AspectGetter = delegate (object x) { return ((SiteInfo)x).LocalPath; };
OlvSiteFTP.AspectGetter = delegate (object x) { return ((SiteInfo)x).FtpName; };
LvSite.FormatRow += LvSite_FormatRow;
}
private void LvSite_FormatRow(object sender, BrightIdeasSoftware.FormatRowEventArgs e)
{
var row = (SiteInfo)e.Model;
if (row.Disabled) { e.Item.ForeColor = Color.Gray; }
}
private void BtnCancel_Click(object sender, EventArgs e)
{
DialogResult = DialogResult.Cancel;
@ -273,7 +281,8 @@ namespace 开发辅助工具.Manager
Name = row["name"].ToString(),
LocalPath = row["localPath"].ToString(),
FtpId = row["ftpId"].ToInt(),
FtpName= ftpname
FtpName= ftpname,
Disabled=row["Disabled"].ToInt() == 1
});
}
}
@ -357,5 +366,6 @@ namespace 开发辅助工具.Manager
public string FtpDir { get; set; } = "";
public string FtpName { get; set; } = "";
public int FtpId { get; set; } = 0;
public bool Disabled { get; set; } = false;
}
}

View File

@ -32,5 +32,5 @@ using System.Runtime.InteropServices;
//可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值
//通过使用 "*",如下所示:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.2508.2601")]
[assembly: AssemblyFileVersion("1.0.2508.2601")]
[assembly: AssemblyVersion("1.0.2604.1101")]
[assembly: AssemblyFileVersion("1.0.2604.1101")]

View File

@ -28,6 +28,7 @@
/// </summary>
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
this.label1 = new System.Windows.Forms.Label();
this.TxtName = new ryControls.TextBoxEx2();
this.label2 = new System.Windows.Forms.Label();
@ -41,6 +42,7 @@
this.BtnOK = new ryControls.ButtonEx();
this.folderBrowserDialog1 = new System.Windows.Forms.FolderBrowserDialog();
this.BtnClearFtp = new ryControls.ButtonEx();
this.ChkDisabled = new System.Windows.Forms.CheckBox();
this.SuspendLayout();
//
// label1
@ -57,7 +59,9 @@
this.TxtName.BackColor = System.Drawing.Color.White;
this.TxtName.EmptyText = "";
this.TxtName.Location = new System.Drawing.Point(11, 24);
this.TxtName.LongTime = 2000;
this.TxtName.MaxLength = 999999999;
this.TxtName.MaxUndoRedoSteps = 50;
this.TxtName.Multiline = false;
this.TxtName.Name = "TxtName";
this.TxtName.OnlyNumeric = false;
@ -88,7 +92,9 @@
this.TxtLocalPath.BackColor = System.Drawing.Color.White;
this.TxtLocalPath.EmptyText = "";
this.TxtLocalPath.Location = new System.Drawing.Point(11, 75);
this.TxtLocalPath.LongTime = 2000;
this.TxtLocalPath.MaxLength = 999999999;
this.TxtLocalPath.MaxUndoRedoSteps = 50;
this.TxtLocalPath.Multiline = false;
this.TxtLocalPath.Name = "TxtLocalPath";
this.TxtLocalPath.OnlyNumeric = false;
@ -150,7 +156,9 @@
this.TxtFtpDir.BackColor = System.Drawing.Color.White;
this.TxtFtpDir.EmptyText = "";
this.TxtFtpDir.Location = new System.Drawing.Point(221, 126);
this.TxtFtpDir.LongTime = 2000;
this.TxtFtpDir.MaxLength = 999999999;
this.TxtFtpDir.MaxUndoRedoSteps = 50;
this.TxtFtpDir.Multiline = false;
this.TxtFtpDir.Name = "TxtFtpDir";
this.TxtFtpDir.OnlyNumeric = false;
@ -200,11 +208,22 @@
this.BtnClearFtp.UseVisualStyleBackColor = true;
this.BtnClearFtp.Click += new System.EventHandler(this.BtnClearFtp_Click);
//
// ChkDisabled
//
this.ChkDisabled.AutoSize = true;
this.ChkDisabled.Location = new System.Drawing.Point(11, 164);
this.ChkDisabled.Name = "ChkDisabled";
this.ChkDisabled.Size = new System.Drawing.Size(48, 16);
this.ChkDisabled.TabIndex = 43;
this.ChkDisabled.Text = "禁用";
this.ChkDisabled.UseVisualStyleBackColor = true;
//
// FrmAddSite
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(442, 203);
this.Controls.Add(this.ChkDisabled);
this.Controls.Add(this.BtnClearFtp);
this.Controls.Add(this.BtnCancel);
this.Controls.Add(this.BtnOK);
@ -243,5 +262,6 @@
private ryControls.ButtonEx BtnOK;
private System.Windows.Forms.FolderBrowserDialog folderBrowserDialog1;
private ryControls.ButtonEx BtnClearFtp;
private System.Windows.Forms.CheckBox ChkDisabled;
}
}

View File

@ -45,6 +45,7 @@ namespace 开发辅助工具.Manager.Site
TxtLocalPath.Text = reader["localPath"].ToString();
DtFtp.selectId = reader["ftpId"].ToString();
TxtFtpDir.Text = reader["ftpDir"].ToString();
ChkDisabled.Checked = reader["Disabled"].ToInt() == 1;
#endregion
}
ds.Dispose();
@ -70,6 +71,7 @@ namespace 开发辅助工具.Manager.Site
mySQL.AddField("localPath", TxtLocalPath.Text.Trim('\\'));
mySQL.AddField("ftpId",DtFtp.selectId.ToInt());
mySQL.AddField("ftpDir", TxtFtpDir.Text);
mySQL.AddField("Disabled", ChkDisabled.Checked?1:0);
//DataProvider mydb = new DataProvider();
IDbInterface db = Itrycn_Db.CreateDataProvider(Itrycn_Db.dataType);
if (db.ConnDb(Itrycn_Db.User_SQLConn) == 1)

View File

@ -481,7 +481,7 @@ namespace SuperDesign.Tools.SmartEditor
UploadInfo uploadinfo = null;
IDbInterface db = Itrycn_Db.CreateDataProvider(Itrycn_Db.dataType);
if (db.ConnDb(Itrycn_Db.User_SQLConn) == 1) {
DataSet ds = db.ReadData("select * from Site");
DataSet ds = db.ReadData("select * from Site where Disabled<>1");
if (ds.HaveData()) {
for (int i = 0; i < ds.Tables[0].Rows.Count; i++) {
DataRow reader = ds.Tables[0].Rows[i];

View File

@ -489,7 +489,7 @@ namespace SuperDesign.Tools.SmartEditor
string FilePath = model.FullName;
SiteInfo SiteInfo = new SiteInfo();
UploadInfo uploadinfo = null;
DataSet ds = db.ReadData("select * from Site");
DataSet ds = db.ReadData("select * from Site where Disabled<>1");
if (ds.HaveData())
{
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
@ -1223,7 +1223,7 @@ namespace SuperDesign.Tools.SmartEditor
IDbInterface db = Itrycn_Db.CreateDataProvider(Itrycn_Db.dataType);
if (db.ConnDb(Itrycn_Db.User_SQLConn) == 1)
{
DataSet ds = db.ReadData("select * from Site");
DataSet ds = db.ReadData("select * from Site where Disabled<>1");
if (ds.HaveData())
{
for (int m = 0; m < list.Count; m++)
@ -1297,7 +1297,7 @@ namespace SuperDesign.Tools.SmartEditor
// continue ;
//}
string FilePath = model.FullName;
DataSet ds = db.ReadData("select * from Site");
DataSet ds = db.ReadData("select * from Site where Disabled<>1");
if (ds.HaveData())
{
for (int m = 0; m < list.Count; m++)
@ -1348,7 +1348,7 @@ namespace SuperDesign.Tools.SmartEditor
string FilePath = files[f];
SiteInfo SiteInfo = new SiteInfo();
UploadInfo uploadinfo = null;
DataSet ds = db.ReadData("select * from Site");
DataSet ds = db.ReadData("select * from Site where Disabled<>1");
if (ds.HaveData())
{
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
@ -1441,7 +1441,7 @@ namespace SuperDesign.Tools.SmartEditor
IDbInterface db = Itrycn_Db.CreateDataProvider(Itrycn_Db.dataType);
if (db.ConnDb(Itrycn_Db.User_SQLConn) == 1)
{
DataSet ds = db.ReadData("select * from Site");
DataSet ds = db.ReadData("select * from Site where Disabled<>1");
if (ds.HaveData())
{
for (int m = 0; m < list.Count; m++)

View File

@ -149,7 +149,7 @@ namespace 开发辅助工具.Tools.SmartEditor
IDbInterface db = Itrycn_Db.CreateDataProvider(Itrycn_Db.dataType);
if (db.ConnDb(Itrycn_Db.User_SQLConn) == 1)
{
DataSet ds = db.ReadData("select * from Site");
DataSet ds = db.ReadData("select * from Site where Disabled<>1");
if (ds.HaveData())
{
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
@ -305,7 +305,7 @@ namespace 开发辅助工具.Tools.SmartEditor
IDbInterface db = Itrycn_Db.CreateDataProvider(Itrycn_Db.dataType);
if (db.ConnDb(Itrycn_Db.User_SQLConn) == 1)
{
DataSet ds = db.ReadData("select * from Site");
DataSet ds = db.ReadData("select * from Site where Disabled<>1");
if (ds.HaveData())
{
FrmUploadProg frm = new FrmUploadProg();

View File

@ -46,6 +46,18 @@ namespace 开发辅助工具.Manager
/// </summary>
[Description("状态变化时激发")]
public event StringEventHandler OnStateChanged;
/// <summary>
/// 传输进度
/// </summary>
/// <param name="curValue">当前传输完成的值</param>
/// <param name="totalValue">全部值,为-1表示无法获取</param>
/// <param name="percent">当前传输的百分比,为-1表示无法获取</param>
/// <param name="Tag">携带的参数(可选)</param>
public delegate void TranProgressHandler(long curValue, long totalValue, double percent);
/// <summary>
/// 文件传输进度
/// </summary>
public event TranProgressHandler OnReplaceDllProgress;
public RyProject()
{
UpdateSetting();
@ -92,7 +104,7 @@ namespace 开发辅助工具.Manager
var path_list = ReferenceDllPath.Replace("\r", "").Split('\n');
//var find = false;
var result = "";
var Min_Ver = RySoft.GetVersionStr(dll_full_path);
var Min_Ver =System.IO.File.Exists(dll_full_path)?RySoft.GetVersionStr(dll_full_path):"0.0.0.0";
var Min_dt=RyFiles.GetFileDate(dll_full_path);
#region dll,使dll
for (int m = 0; m < path_list.Length; m++)
@ -192,6 +204,7 @@ namespace 开发辅助工具.Manager
}
return _rel_path;
}
public int ReplaceDllCount { get; set; } = 0;
/// <summary>
/// 更新dll版本,如果全部复制成功则返回0,否则返回错误个数
/// </summary>
@ -199,6 +212,8 @@ namespace 开发辅助工具.Manager
{
var _error_str = "";
int error = 0;
int replace_count = 0;
ReplaceDllCount = 0;
Updates("",folder);
Updates("x86", folder+"\\x86");
Updates("x64", folder + "\\x64");
@ -206,8 +221,10 @@ namespace 开发辅助工具.Manager
{
if (!System.IO.Directory.Exists(_path)) { return; }
var files = System.IO.Directory.GetFiles(_path, "*.dll");
OnReplaceDllProgress?.Invoke(0, files.Length, 0);
for (int i = 0; i < files.Length; i++)
{
OnReplaceDllProgress?.Invoke(i, files.Length, i/ (float)files.Length);
string filename = System.IO.Path.GetFileName(files[i]);
var dllpath = GetDllPath(foldername, files[i]);
if (dllpath.Length>0)
@ -222,17 +239,32 @@ namespace 开发辅助工具.Manager
if (RyFiles.CopyFolder(sourch_folder + "\\x64\\", _path + "\\x64\\") != 0)
{ _error_str += sourch_folder + "\\x64\\*\r\n"; error++; }
}
if (dllpath!= files[i] && !RyFiles.CopyBigFile(dllpath, files[i]))
{ _error_str += files[i]+ "\r\n"; error++; }
if (dllpath!= files[i])
{
if (!RyFiles.CopyBigFile(dllpath, files[i]))
{
_error_str += files[i] + "\r\n"; error++;
}
else
{
replace_count++;
}
}
var dll_xml_path = System.IO.Path.GetDirectoryName(dllpath) +"\\"+ System.IO.Path.GetFileNameWithoutExtension(dllpath) + ".xml";
if (System.IO.File.Exists(dll_xml_path))
{
var to_xml_path = System.IO.Path.GetDirectoryName(files[i]) + "\\" + System.IO.Path.GetFileNameWithoutExtension(files[i]) + ".xml";
if (dll_xml_path.ToLower()!=to_xml_path.ToLower() && !RyFiles.CopyBigFile(dll_xml_path, to_xml_path))
{ _error_str += files[i] + "\r\n"; error++; }
if (dll_xml_path.ToLower()!=to_xml_path.ToLower())
{
if (!RyFiles.CopyBigFile(dll_xml_path, to_xml_path))
{
_error_str += files[i] + "\r\n"; error++;
}
}
}
}
}
OnReplaceDllProgress?.Invoke(files.Length, files.Length,1);
var dirs = System.IO.Directory.GetDirectories(_path);
for (int i = 0; i < dirs.Length; i++)
{
@ -240,6 +272,7 @@ namespace 开发辅助工具.Manager
}
}
error_str = _error_str;
ReplaceDllCount = replace_count;
return error;
}
/// <summary>
@ -248,6 +281,10 @@ namespace 开发辅助工具.Manager
public int UpdateCSproj(string folder)
{
int error = 0;
if(System.IO.File.Exists(folder) && System.IO.Path.GetExtension(folder)== ".csproj")
{
SetCSproj(folder, "");
}
Updates(folder);
void Updates(string _path)
{
@ -276,7 +313,7 @@ namespace 开发辅助工具.Manager
var xmlnsm = new XmlNamespaceManager(xml.NameTable);
xmlnsm.AddNamespace("d", xml.DocumentElement.NamespaceURI);
//var root = @"d:Project//d:ItemGroup//d:Reference";
if (_project_Eng_name != "")
if (_project_Eng_name.Length>0)
{
SetValue(@"d:Project//d:PropertyGroup//d:RootNamespace", _project_Eng_name.Replace(" ", ""));//命名空间名
SetValue(@"d:Project//d:PropertyGroup//d:AssemblyName", _project_Eng_name.Replace(" ", ""));//程序集名称

View File

@ -31,5 +31,5 @@ using System.Runtime.InteropServices;
// 可以指定所有值,也可以使用以下所示的 "*" 预置版本号和修订号
// 方法是按如下所示使用“*”: :
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("3.0.2508.2601")]
[assembly: AssemblyFileVersion("3.0.2508.2601")]
[assembly: AssemblyVersion("3.0.2604.1101")]
[assembly: AssemblyFileVersion("3.0.2604.1101")]

View File

@ -19,7 +19,7 @@ namespace SuperDesign.Properties {
// 类通过类似于 ResGen 或 Visual Studio 的工具自动生成的。
// 若要添加或移除成员,请编辑 .ResX 文件,然后重新运行 ResGen
// (以 /str 作为命令选项),或重新生成 VS 项目。
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "18.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
internal class Resources {

View File

@ -12,7 +12,7 @@ namespace SuperDesign.Properties {
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.5.0.0")]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.14.0.0")]
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));

View File

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|AnyCPU'">
<StartArguments>get "E:\My Datas\My Codes\毕方项目\CSharp\SuperDesign\Source\开发辅助工具\SuperDesign.csproj"</StartArguments>
<StartArguments>get "E:\My Datas\My Codes\毕方项目\CSharp\数据库备份工具\Source\DatabaseBackup\DatabaseBackup.csproj"</StartArguments>
</PropertyGroup>
<PropertyGroup>
<ProjectView>ShowAllFiles</ProjectView>

View File

@ -198,6 +198,33 @@ namespace 开发辅助工具.Tools
ryCommon.RyFiles.WriteAllText(source_folder + "\\Properties\\AssemblyInfo.cs", AssemblyInfo, Encoding.UTF8);
#endregion
#region
SuperFileSearch superFileSearch = new SuperFileSearch();
superFileSearch.Search(source_folder, "*.cs");
for (int i = 0; i < superFileSearch.ResultFiles.Count; i++)
{
var file_content = ryCommon.RyFiles.ReadAllLines(superFileSearch.ResultFiles[i].FullName);
if(file_content!=null && file_content.Length>0)
{
var have_changed = false;
for (int f = 0; f < file_content.Length; f++)
{
if (file_content[f].Trim().StartsWith("namespace "))
{
file_content[f] = file_content[f].Replace("Itrycn_Project2", project_Eng_name);
have_changed = true;
}
else if(file_content[f].Trim().StartsWith("using "))
{
file_content[f] = file_content[f].Replace("Itrycn_Project2", project_Eng_name);
have_changed = true;
}
}
if(have_changed)
{
RyFiles.WriteAllLines(superFileSearch.ResultFiles[i].FullName, file_content, new UTF8Encoding(encoderShouldEmitUTF8Identifier: false));
}
}
}
//var Resources = ryCommon.RyFiles.ReadAllText(source_folder + "\\Properties\\Resources.Designer.cs");
//Resources = Resources.Replace("Itrycn_Project.Properties", project_Eng_name.Replace(" ", "") + ".Properties");
//Resources = Resources.Replace("Itrycn_Project2.Properties", project_Eng_name.Replace(" ", "") + ".Properties");

View File

@ -77,6 +77,10 @@
this.TxtName = new ryControls.TextBoxEx2();
this.label1 = new System.Windows.Forms.Label();
this.tabPage3 = new System.Windows.Forms.TabPage();
this.label7 = new System.Windows.Forms.Label();
this.LvProjectBuild = new BrightIdeasSoftware.ObjectListView();
this.olvProjectName = ((BrightIdeasSoftware.OLVColumn)(new BrightIdeasSoftware.OLVColumn()));
this.olvPlatform = ((BrightIdeasSoftware.OLVColumn)(new BrightIdeasSoftware.OLVColumn()));
this.BtnSave2 = new ryControls.ButtonEx();
this.panel1 = new System.Windows.Forms.Panel();
this.tabPage4 = new System.Windows.Forms.TabPage();
@ -96,10 +100,7 @@
this.Html日志并上传到服务器ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.BtnPublishLogs = new ryControls.ButtonEx();
this.timer1 = new System.Windows.Forms.Timer(this.components);
this.label7 = new System.Windows.Forms.Label();
this.LvProjectBuild = new BrightIdeasSoftware.ObjectListView();
this.olvProjectName = ((BrightIdeasSoftware.OLVColumn)(new BrightIdeasSoftware.OLVColumn()));
this.olvPlatform = ((BrightIdeasSoftware.OLVColumn)(new BrightIdeasSoftware.OLVColumn()));
this.progressBar1 = new System.Windows.Forms.ProgressBar();
((System.ComponentModel.ISupportInitialize)(this.table1)).BeginInit();
this.groupBox1.SuspendLayout();
this.groupBox2.SuspendLayout();
@ -107,11 +108,11 @@
this.tabPage2.SuspendLayout();
this.tabPage1.SuspendLayout();
this.tabPage3.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.LvProjectBuild)).BeginInit();
this.panel1.SuspendLayout();
this.tabPage4.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.LvUpdateLogList)).BeginInit();
this.contextMenuStrip1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.LvProjectBuild)).BeginInit();
this.SuspendLayout();
//
// BtnCustomMessageBox
@ -399,6 +400,7 @@
//
this.groupBox1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.groupBox1.Controls.Add(this.progressBar1);
this.groupBox1.Controls.Add(this.ChkPackByLite);
this.groupBox1.Controls.Add(this.BtnRepairFolder);
this.groupBox1.Controls.Add(this.BtnUpdateDllVer);
@ -451,6 +453,7 @@
this.chromeTabControl1.Controls.Add(this.tabPage3);
this.chromeTabControl1.Controls.Add(this.tabPage4);
this.chromeTabControl1.Cursor = System.Windows.Forms.Cursors.Default;
this.chromeTabControl1.DrawTabBorder = true;
this.chromeTabControl1.ItemSize = new System.Drawing.Size(100, 25);
this.chromeTabControl1.Location = new System.Drawing.Point(3, 205);
this.chromeTabControl1.Name = "chromeTabControl1";
@ -458,7 +461,6 @@
this.chromeTabControl1.ShowAddButton = false;
this.chromeTabControl1.ShowCloseButton = false;
this.chromeTabControl1.Size = new System.Drawing.Size(1041, 500);
this.chromeTabControl1.SizeMode = System.Windows.Forms.TabSizeMode.Fixed;
this.chromeTabControl1.TabContextMenuStrip = null;
this.chromeTabControl1.TabIndex = 29;
this.chromeTabControl1.TabMaxWidth = 100;
@ -738,6 +740,48 @@
this.tabPage3.Text = "C#编译选项";
this.tabPage3.UseVisualStyleBackColor = true;
//
// label7
//
this.label7.AutoSize = true;
this.label7.Location = new System.Drawing.Point(11, 61);
this.label7.Name = "label7";
this.label7.Size = new System.Drawing.Size(65, 12);
this.label7.TabIndex = 39;
this.label7.Text = "打包前编译";
//
// LvProjectBuild
//
this.LvProjectBuild.AllColumns.Add(this.olvProjectName);
this.LvProjectBuild.AllColumns.Add(this.olvPlatform);
this.LvProjectBuild.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)));
this.LvProjectBuild.CellEditUseWholeCell = false;
this.LvProjectBuild.CheckBoxes = true;
this.LvProjectBuild.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
this.olvProjectName,
this.olvPlatform});
this.LvProjectBuild.Cursor = System.Windows.Forms.Cursors.Default;
this.LvProjectBuild.FullRowSelect = true;
this.LvProjectBuild.HeaderStyle = System.Windows.Forms.ColumnHeaderStyle.Nonclickable;
this.LvProjectBuild.HideSelection = false;
this.LvProjectBuild.Location = new System.Drawing.Point(12, 76);
this.LvProjectBuild.Name = "LvProjectBuild";
this.LvProjectBuild.Size = new System.Drawing.Size(391, 344);
this.LvProjectBuild.TabIndex = 38;
this.LvProjectBuild.UseCompatibleStateImageBehavior = false;
this.LvProjectBuild.View = System.Windows.Forms.View.Details;
this.LvProjectBuild.ItemChecked += new System.Windows.Forms.ItemCheckedEventHandler(this.LvProjectBuild_ItemChecked);
//
// olvProjectName
//
this.olvProjectName.Text = "项目";
this.olvProjectName.Width = 180;
//
// olvPlatform
//
this.olvPlatform.Text = "平台";
this.olvPlatform.Width = 130;
//
// BtnSave2
//
this.BtnSave2.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
@ -943,47 +987,13 @@
this.timer1.Interval = 1000;
this.timer1.Tick += new System.EventHandler(this.timer1_Tick);
//
// label7
// progressBar1
//
this.label7.AutoSize = true;
this.label7.Location = new System.Drawing.Point(11, 61);
this.label7.Name = "label7";
this.label7.Size = new System.Drawing.Size(65, 12);
this.label7.TabIndex = 39;
this.label7.Text = "打包前编译";
//
// LvProjectBuild
//
this.LvProjectBuild.AllColumns.Add(this.olvProjectName);
this.LvProjectBuild.AllColumns.Add(this.olvPlatform);
this.LvProjectBuild.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)));
this.LvProjectBuild.CellEditUseWholeCell = false;
this.LvProjectBuild.CheckBoxes = true;
this.LvProjectBuild.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
this.olvProjectName,
this.olvPlatform});
this.LvProjectBuild.Cursor = System.Windows.Forms.Cursors.Default;
this.LvProjectBuild.FullRowSelect = true;
this.LvProjectBuild.HeaderStyle = System.Windows.Forms.ColumnHeaderStyle.Nonclickable;
this.LvProjectBuild.HideSelection = false;
this.LvProjectBuild.Location = new System.Drawing.Point(12, 76);
this.LvProjectBuild.Name = "LvProjectBuild";
this.LvProjectBuild.Size = new System.Drawing.Size(391, 344);
this.LvProjectBuild.TabIndex = 38;
this.LvProjectBuild.UseCompatibleStateImageBehavior = false;
this.LvProjectBuild.View = System.Windows.Forms.View.Details;
this.LvProjectBuild.ItemChecked += new System.Windows.Forms.ItemCheckedEventHandler(this.LvProjectBuild_ItemChecked);
//
// olvProjectName
//
this.olvProjectName.Text = "项目";
this.olvProjectName.Width = 180;
//
// olvPlatform
//
this.olvPlatform.Text = "平台";
this.olvPlatform.Width = 130;
this.progressBar1.Location = new System.Drawing.Point(851, 23);
this.progressBar1.Name = "progressBar1";
this.progressBar1.Size = new System.Drawing.Size(161, 22);
this.progressBar1.TabIndex = 32;
this.progressBar1.Visible = false;
//
// FrmProject
//
@ -1014,13 +1024,13 @@
this.tabPage1.PerformLayout();
this.tabPage3.ResumeLayout(false);
this.tabPage3.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.LvProjectBuild)).EndInit();
this.panel1.ResumeLayout(false);
this.panel1.PerformLayout();
this.tabPage4.ResumeLayout(false);
this.tabPage4.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.LvUpdateLogList)).EndInit();
this.contextMenuStrip1.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.LvProjectBuild)).EndInit();
this.ResumeLayout(false);
this.PerformLayout();
@ -1099,5 +1109,6 @@
private BrightIdeasSoftware.ObjectListView LvProjectBuild;
private BrightIdeasSoftware.OLVColumn olvProjectName;
private BrightIdeasSoftware.OLVColumn olvPlatform;
private System.Windows.Forms.ProgressBar progressBar1;
}
}

View File

@ -1147,6 +1147,7 @@ namespace 开发辅助工具.Tools
private void BtnUpdateDllVer_Click(object sender, EventArgs e)
{
progressBar1.Visible = true;
BtnUpdateDllVer.Enabled = false;
int error = 0;
RyProject project = new RyProject
@ -1154,6 +1155,7 @@ namespace 开发辅助工具.Tools
CopyDllToBin = true,
ChangedOutputPath = false
};
project.OnReplaceDllProgress += Project_OnReplaceDllProgress;
var bf_folder = GetBFFolderPath();
var _error_str = "";
if (bf_folder != "")
@ -1166,9 +1168,17 @@ namespace 开发辅助工具.Tools
error += project.UpdateDlls(debug_path, out _error_str);
}
BtnUpdateDllVer.Enabled = true;
progressBar1.Visible = false;
if (error == 0)
{
MessageBox.Show("更新dll完成。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
if (project.ReplaceDllCount == 0)
{
MessageBox.Show("没有发现需要替换的文件。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
else
{
MessageBox.Show("更新dll完成,共替换" + project.ReplaceDllCount + "个dll文件。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
else
{
@ -1176,6 +1186,12 @@ namespace 开发辅助工具.Tools
}
}
private void Project_OnReplaceDllProgress(long curValue, long totalValue, double percent)
{
progressBar1.Value = (percent * 100).ToInt();
Application.DoEvents();
}
private void BtnRepairFolder_Click(object sender, EventArgs e)
{
var _path = GetBFFolderPath();

View File

@ -126,6 +126,9 @@
<metadata name="toolTip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>285, 17</value>
</metadata>
<metadata name="toolTip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>285, 17</value>
</metadata>
<metadata name="contextMenuStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>392, 17</value>
</metadata>

View File

@ -1744,10 +1744,10 @@ namespace 开发辅助工具.Tools
builder.Append(" Encoding = System.Text.Encoding.GetEncoding( \"" + this.CbbEncoding.Text.Trim() + "\"),//URL 可选项 默认为Get \r\n");
}
builder.Append(" Method = \"" + item.Method + "\",//URL 可选项 默认为Get \r\n");
builder.Append(" Cookie = \"" + item.Cookie.Replace("\n", "\"+\n \"") + "\",//字符串Cookie 可选项 \r\n");
builder.Append(" Cookie = \"" + item.Cookie.Replace("\"", "\\\"").Replace("\r\n", "\""+"+\r\n +\"") + "\",//字符串Cookie 可选项 \r\n");
builder.Append(" Referer =\"" + item.Referer + "\",//来源URL 可选项 \r\n");
builder.Append(" Accept = \"" + item.Accept + "\",//Accept 可选项 \r\n");
builder.Append(" Postdata = \"" + item.Postdata.Replace("\n", "\"+\n \"") + "\",//Post数据 可选项GET时不需要写 \r\n");
builder.Append(" Postdata = \"" + item.Postdata.Replace("\"","\\\"").Replace("\r\n", "\"" + "+\r\n \"") + "\",//Post数据 可选项GET时不需要写 \r\n");
builder.Append(" Timeout = " + item.Timeout + ",//连接超时时间 可选项默认为100000 \r\n");
builder.Append(" ReadWriteTimeout = " + item.ReadWriteTimeout + ",//写入Post数据超时时间 可选项默认为30000 \r\n");
builder.Append(" UserAgent = \"" + item.UserAgent + "\",//用户的浏览器类型,版本,操作系统 可选项有默认值 \r\n");