## :date:2025-07-16 星期三更新

### RySmartEditor    V1.0.2507.1601
- *.[新增]新增文件内容索引搜索。
- *.[新增]新增打开文件自动定位到指定行的功能。
### SuperDesign    V3.0.2507.1601
#### 网页抓取工具
- *.[修复]修复历史记录无法记录的BUG。
#### 编码解码
- *.[新增]新增svg图片代码转Geometry代码的功能。
#### 项目功能->项目管理
- *.[新增]互斥运行标准改为以毕方文件夹为准,而不是以项目文件为准。
- *.[新增]支持同个毕方项目可以不用重启来快捷切换不同子项目。
- *.[新增]支持发布时和打包时自动编译功能。
- *.[修复]修复项目输出路径为相对路径时,更新引用dll可能不成功的BUG。
This commit is contained in:
zilinsoft committed 2025-07-16 09:08:09 +08:00
1 parent 30afab3ce9
commit 5a5faaf5dc
113 files changed
+832320 -898

No files matched your search

@@ -12,6 +12,27 @@ namespace SuperDesign.Manager
{
public class APIManager
{
/// <summary>
/// 获取毕方标准项目根路径
/// </summary>
/// <returns></returns>
public static string GetBFFolderPath(string _ProjectPath)
{
var _path = _ProjectPath;
while (true)
{
_path = System.IO.Path.GetDirectoryName(_path.TrimEnd('\\')).TrimEnd('\\');
if (System.IO.File.Exists(_path + "\\查看项目.ryp"))
{
return _path;
}
else
{
if (_path.Length < 4) { break; }
}
}
return "";
}
public static string GetMdLogText(JArray jarr, DateTime dt,bool UseEmoji=false)
{
string log_text = "## :date:" + DateTime.Now.ToString("yyyy-MM-dd dddd") + "更新";
+12 -14
View File
@@ -1,4 +1,6 @@
using ryCommon;
using Newtonsoft.Json.Linq;
using QuickMsg;
using ryCommon;
using System;
using System.Collections.Generic;
using System.Linq;
@@ -24,25 +26,21 @@ namespace 开发辅助工具
else if (args[0] == "get")
{
string ProjectPath = args[1];
run = new System.Threading.Mutex(true, "S_"+rySafe.MD5Sha1.GetMD5(ProjectPath), out bool runone);
var bf_path = SuperDesign.Manager.APIManager.GetBFFolderPath(ProjectPath);
run = new System.Threading.Mutex(true, "S_"+rySafe.MD5Sha1.GetMD5(bf_path), out bool runone);
if (!runone) //已经运行了
{
Ini ini = new Ini(Application.StartupPath + "\\UserDb\\Win.dat");
var handle = ini.ReadIni("ProjectHwnd", rySafe.MD5Sha1.GetMD5(ProjectPath),0); ;
if(handle>0)
object mainHandle = RyMemoryShare.ReadFromMemory(1024, typeof(Int64), "S_" + rySafe.MD5Sha1.GetMD5( bf_path) + ".z");
if (mainHandle != null)
{
if (RyForm.GetWinText((IntPtr)handle).Length > 0)
{
ryControls.Win32.SendMessage((IntPtr)handle, 17189, 100, 100);
}
else
{
Application.Run(new Form1(ProjectPath, "get"));
}
JObject jo= new JObject();
jo["type"] = "project_update";
jo["path"] = ProjectPath;
MyDb.RyWin32.SendMsg(IntPtr.Zero,(IntPtr)(long)mainHandle, MyDb.RyWin32.Sys_chanel_id, jo.ToString());
}
else
{
// Application.Run(new Form1(ProjectPath, "get"));
Application.Run(new Form1(ProjectPath, "get"));
}
}
else
@@ -292,6 +292,7 @@ namespace 开发辅助工具.Manager
mySQL.AddField("Cookie", "");
mySQL.AddField("Postdata", "");
mySQL.AddField("Method", "");
mySQL.AddField("UserAgent", "");
mySQL.AddField("Header", "");
mySQL.AddField("Referer", "");
mySQL.AddField("ContentType", "");
+31 -11
View File
@@ -1,4 +1,5 @@
using ExtendUI.FTPManager;
using Newtonsoft.Json.Linq;
using ryCommon;
using ryCommonDb;
using System;
@@ -114,8 +115,8 @@ namespace 开发辅助工具.Manager
else if (compareVer == 0)//引用位置版本一致,则看更新时间
{
var file_dt=RyFiles.GetFileDate(files[z]);
if (file_dt.LastWriteTime <= Min_dt.LastWriteTime)
{
if (file_dt.LastWriteTime <= Min_dt.LastWriteTime)
{
continue;
}
else
@@ -295,13 +296,14 @@ namespace 开发辅助工具.Manager
if (iPos > 0)
{
var Reference_Name = HintPath.Substring(iPos + 1);//引用的dll名称
var dll_path = GetDllPath(OutputPath + Reference_Name);
var full_path = RelToAbsPath(path, OutputPath + Reference_Name);
var dll_path = GetDllPath(full_path);
if (dll_path.Length>0)
{
if (CopyDllToBin)
{
list[i].InnerText = OutputPath + Reference_Name;
RyFiles.CopyBigFile(dll_path,RelToAbsPath(path, OutputPath + Reference_Name));
RyFiles.CopyBigFile(dll_path, full_path);
}
else
{
@@ -334,13 +336,14 @@ namespace 开发辅助工具.Manager
{ dll_name = "ryUpdate.dll"; }
if (dll_name != "")
{
var dll_path = GetDllPath(OutputPath + dll_name);
var fullpath = RelToAbsPath(path, OutputPath + dll_name);
var dll_path = GetDllPath(fullpath);
if (dll_path != "")
{
if (CopyDllToBin)
{
MoveReference(System.IO.Path.GetFileNameWithoutExtension(dll_name), OutputPath + dll_name);
RyFiles.CopyBigFile(dll_path, RelToAbsPath(path, OutputPath + dll_name));
MoveReference(System.IO.Path.GetFileNameWithoutExtension(dll_name), fullpath);
RyFiles.CopyBigFile(dll_path, fullpath);
}
else
{
@@ -653,6 +656,8 @@ namespace 开发辅助工具.Manager
/// <param name="PackByLite">最简化打包</param>
public void Pack(string project_folder,bool PackByLite=false)
{
BigFileOp file_op = new BigFileOp();
file_op.OnCanelCopy += File_op_OnCanelCopy;
var com_mode = "Debug";
DataProvider mydb = new DataProvider();
IDbInterface db = Itrycn_Db.CreateDataProvider(Itrycn_Db.dataType);
@@ -711,7 +716,7 @@ namespace 开发辅助工具.Manager
ShowState("正在清理不重要的缓存...");
ryCommon.RyFiles.DeleteFile(ouput_folder + "\\Secure\\*.pdb");
ShowState("复制混淆文件到底包目录...");
ryCommon.RyFiles.CopyFileOrFolder(ouput_folder + "\\Secure\\", bf_folder + "\\Publish\\OriginalFiles"+(PackByLite?"_Lite":"")+"\\");
file_op.CopyFileOrFolder(ouput_folder + "\\Secure\\", bf_folder + "\\Publish\\OriginalFiles"+(PackByLite?"_Lite":"")+"\\");
}
#region 复制自定义规则文件到底包目录
ShowState("复制自定义规则文件到底包目录...");
@@ -765,6 +770,7 @@ namespace 开发辅助工具.Manager
}
}
var from_to = item.Replace("->", "|").Split('|');
if (from_to.Length == 2)
{
var from_path = from_to[0];
@@ -773,6 +779,7 @@ namespace 开发辅助工具.Manager
{
from_path= ouput_folder + "\\" + from_path;
}
if (from_path.IndexOfEx("<") >= 0) { continue; }
var from_filename = System.IO.Path.GetFileName(from_path);
if (from_filename.IndexOfEx("*") >= 0)
{
@@ -781,7 +788,7 @@ namespace 开发辅助工具.Manager
{
for (int i = 0; i < file_list.Length; i++)
{
ryCommon.RyFiles.CopyFileOrFolder(file_list[i], bf_folder + "\\Publish\\OriginalFiles"+ (PackByLite ? "_Lite" : "") + "\\" + to_path);
file_op.CopyFileOrFolder(file_list[i], bf_folder + "\\Publish\\OriginalFiles"+ (PackByLite ? "_Lite" : "") + "\\" + to_path);
}
}
var dir_list = System.IO.Directory.GetDirectories(System.IO.Path.GetDirectoryName(from_path), from_filename);
@@ -789,13 +796,13 @@ namespace 开发辅助工具.Manager
{
for (int i = 0; i < dir_list.Length; i++)
{
ryCommon.RyFiles.CopyFileOrFolder(dir_list[i], bf_folder + "\\Publish\\OriginalFiles"+ (PackByLite ? "_Lite" : "") + "\\" + to_path);
file_op.CopyFileOrFolder(dir_list[i], bf_folder + "\\Publish\\OriginalFiles"+ (PackByLite ? "_Lite" : "") + "\\" + to_path);
}
}
}
else
{
ryCommon.RyFiles.CopyFileOrFolder(from_path, bf_folder + "\\Publish\\OriginalFiles"+ (PackByLite ? "_Lite" : "") + "\\" + to_path);
file_op.CopyFileOrFolder(from_path, bf_folder + "\\Publish\\OriginalFiles"+ (PackByLite ? "_Lite" : "") + "\\" + to_path);
}
}
}
@@ -832,6 +839,19 @@ namespace 开发辅助工具.Manager
OnStateChanged?.Invoke(this,text);
}
}
private void File_op_OnCanelCopy(object sender, CancelEventArgs e, string FromPath, string ToPath)
{
if(RyFiles.GetFileSize(FromPath)==RyFiles.GetFileSize(ToPath))
{
var dt1 = RyFiles.GetFileDate(FromPath);
var dt2 = RyFiles.GetFileDate(ToPath);
if(dt1.LastWriteTime==dt2.LastWriteTime)
{
e.Cancel = true;
}
}
}
}
public class VerInfo
{