Compare commits

...

2 Commits

Author SHA1 Message Date
cf148e9000 feat(ui): 调整FormLogin窗体和web控件尺寸
- 添加关闭事件,用于释放web资源
2025-04-09 21:24:45 +08:00
e52fd188b6 feat: 调整方法参数和文件保存逻辑 2025-04-03 23:36:38 +08:00
4 changed files with 66 additions and 12 deletions

Binary file not shown.

View File

@ -329,7 +329,7 @@ namespace AIProofread
/// </summary> /// </summary>
/// <param name="documentId"></param> /// <param name="documentId"></param>
/// <param name="callback"></param> /// <param name="callback"></param>
public void CheckInTrackRevisions(string message,int documentId, string callbackId) public void CheckInTrackRevisions(string message, int documentId, string callbackId)
{ {
var doc = documentId > 0 ? Globals.ThisAddIn.GetDocumentById(documentId) : Globals.ThisAddIn.ActiveDocument; var doc = documentId > 0 ? Globals.ThisAddIn.GetDocumentById(documentId) : Globals.ThisAddIn.ActiveDocument;
@ -789,17 +789,45 @@ namespace AIProofread
} }
// 保存文件 // 保存文件
public string WriteText(string content, string path) public void WriteText(string content, string filename, string callbackId)
{ {
try Globals.ThisAddIn.ActiveDocument.RunInMainThread(() =>
{ {
File.WriteAllText(path, content); var json = JSONObject.Create();
return BridgeResult.Success("ok"); try
} {
catch (Exception ex) string currentName = Globals.ThisAddIn.Application.ActiveDocument.Name;
{ // 去掉文件名后缀
return BridgeResult.Error(-1, ex.Message); currentName = currentName.Substring(0, currentName.LastIndexOf("."));
} SaveFileDialog sfd = new SaveFileDialog
{
// 设置默认文件名
FileName = filename,
Filter = "文本文件|*.txt"
};
var result = sfd.ShowDialog();
// 如果用户取消选择,则返回
if (result != DialogResult.Cancel)
{
if (File.Exists(sfd.FileName))
{
File.Delete(sfd.FileName);
}
File.WriteAllText(sfd.FileName, content);
json.Put("status", "success");
}
}
catch (Exception ex)
{
json.Put("status", "error").Put("message", ex.Message);
}
Globals.ThisAddIn.GlobalCallback(
callbackId,
json.ToString()
);
});
//
} }
/// <summary> /// <summary>

View File

@ -41,7 +41,7 @@
this.web.Dock = System.Windows.Forms.DockStyle.Fill; this.web.Dock = System.Windows.Forms.DockStyle.Fill;
this.web.Location = new System.Drawing.Point(0, 0); this.web.Location = new System.Drawing.Point(0, 0);
this.web.Name = "web"; this.web.Name = "web";
this.web.Size = new System.Drawing.Size(650, 400); this.web.Size = new System.Drawing.Size(650, 500);
this.web.TabIndex = 0; this.web.TabIndex = 0;
this.web.ZoomFactor = 1D; this.web.ZoomFactor = 1D;
// //
@ -49,7 +49,7 @@
// //
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(650, 400); this.ClientSize = new System.Drawing.Size(650, 500);
this.Controls.Add(this.web); this.Controls.Add(this.web);
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.Name = "FormLogin"; this.Name = "FormLogin";

View File

@ -14,6 +14,19 @@ namespace AIProofread.Controls
public FormLogin() public FormLogin()
{ {
InitializeComponent(); InitializeComponent();
this.FormClosed += (s, e) =>
{
// 关闭时释放资源
try
{
if (web != null)
{
web.Dispose();
web = null;
}
}
catch { };
};
//Bridge.InitWebEnvAsync("login", web); //Bridge.InitWebEnvAsync("login", web);
//Bridge.AddEventHandler(BridgeEvent.LoginSuccess, OnLoginSuccess); //Bridge.AddEventHandler(BridgeEvent.LoginSuccess, OnLoginSuccess);
} }
@ -21,6 +34,19 @@ namespace AIProofread.Controls
{ {
this.action = action; this.action = action;
InitializeComponent(); InitializeComponent();
this.FormClosed += (s, e) =>
{
// 关闭时释放资源
try
{
if (web != null)
{
web.Dispose();
web = null;
}
}
catch { };
};
} }
private void OnLoginSuccess(object sender, EventArgs e) private void OnLoginSuccess(object sender, EventArgs e)