From e52fd188b65b76f9b8bd755f05dd337f042a4163 Mon Sep 17 00:00:00 2001 From: callmeyan Date: Thu, 3 Apr 2025 23:36:38 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E8=B0=83=E6=95=B4=E6=96=B9=E6=B3=95?= =?UTF-8?q?=E5=8F=82=E6=95=B0=E5=92=8C=E6=96=87=E4=BB=B6=E4=BF=9D=E5=AD=98?= =?UTF-8?q?=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .vs/AIProofread/v17/.suo | Bin 2867200 -> 3040256 bytes AIProofread/Bridge.cs | 48 +++++++++++++++++++++++++++++++-------- 2 files changed, 38 insertions(+), 10 deletions(-) diff --git a/.vs/AIProofread/v17/.suo b/.vs/AIProofread/v17/.suo index 70971010d488c386fae5a37cd6d24ef5f89e5f70..34196cc3b2894c738a3e5240e6b774de5e139535 100644 GIT binary patch delta 35117 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 k(@yu$$$Q0Ps|lF`i=D?l$e+9~IAQQD4r#A$+&@ /// /// - 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; @@ -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); - return BridgeResult.Success("ok"); - } - catch (Exception ex) - { - return BridgeResult.Error(-1, ex.Message); - } + var json = JSONObject.Create(); + try + { + string currentName = Globals.ThisAddIn.Application.ActiveDocument.Name; + // 去掉文件名后缀 + 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() + ); + }); + // } ///