src/docs/integration-network-ops.md
STranslate/Core/HttpService.cs
TestProxyAsync() / GetCurrentIpAsync() 代理连通性验证。STranslate/ViewModels/Pages/NetworkViewModel.cs
STranslate/Core/ExternalCallService.cs
HttpListener 本地服务,路由外部请求到主窗口命令。STranslate/Core/UpdaterService.cs
STranslate/Controls/UpdateChangelogDialog.xaml(.cs)
CHANGELOG.md,失败时回退外链。STranslate/Core/AutoUpdateCheckerService.cs
STranslate/Services/BackupService.cs
TestConnectionCommand。NetworkViewModel.TestConnectionAsync() 调用:
_httpService.TestProxyAsync()。_httpService.GetCurrentIpAsync()。TestResult。Settings.EnableExternalCall=true 时,Settings.ApplyExternalCall() 调用 ExternalCallService.StartService("http://127.0.0.1:{port}/")。ExternalCallService 用 HttpListener 接收请求,解析路径为 ExternalCallAction。MainWindowViewModel 对应命令(翻译、OCR、图片翻译、静默 OCR/TTS、窗口操作、热键开关等)。code + data。UpdaterService.UpdateAppAsync() 使用 UpdateLock 防止并发更新。GithubSource 检查新版本。UpdateChangelogDialog:
ProgressRing)。IHttpService 拉取 https://raw.githubusercontent.com/STranslate/STranslate/refs/heads/main/CHANGELOG.md 并用 MarkdownViewer 渲染完整更新内容。WaitExitThenApplyUpdates() 并关闭应用。App.OnStartup() 在主窗口 Loaded 阶段启动 AutoUpdateCheckerService。Settings.AutoCheckUpdate,关闭时跳过本轮检查。UpdaterService.NotifyUpdateIfAvailableAsync(),并复用 UpdateLock 防并发。STranslate.Host(backup 模式)对 Plugins 与 Settings 打包或还原。InfoFilePath 向主程序传递提示信息。BackupFilePath。App.WebDavBackupOperation() 读取路径并调用 BackupService.PostWebDavBackupAsync() 上传。Options(HTTP 参数)
Headers、QueryParams、Timeout、ContentType。DownloadProgress
DownloadedBytes、TotalBytes、Speed、ElapsedTime。ExternalCallAction
Settings.Proxy、Settings.HttpTimeout。Settings.EnableExternalCall、Settings.ExternalCallPort。Settings.AutoCheckUpdate(是否启用自动检查更新)。Settings.Backup(地址、账号、密码、备份类型)。STranslate/Core/HttpService.csSTranslate/ViewModels/Pages/NetworkViewModel.csSTranslate/Core/ExternalCallService.csSTranslate/Core/UpdaterService.csSTranslate/Controls/UpdateChangelogDialog.xamlSTranslate/Controls/UpdateChangelogDialog.xaml.csSTranslate/Core/AutoUpdateCheckerService.csSTranslate/Services/BackupService.csSTranslate/App.xaml.csExternalCallAction 增加枚举,并在 ExecuteExternalCall() 添加分支。UpdaterService 的 UpdateManager 源与版本判定逻辑。AutoUpdateCheckerService 的轮询间隔常量。HttpService.DownloadFileAsync(),保证进度、取消、异常统一。BackupService 与 Host 参数协议,避免主进程和 Host 参数不一致。