feat: local backup (#5054)

* feat: local backup

* refactor(backup): make local backup helpers synchronous and clean up redundant checks

- Converted local backup helpers to synchronous functions to remove unused async warnings and align command signatures.
- Updated list/delete/export commands to call the sync feature functions directly without awaits while preserving behavior.
- Simplified destination directory creation to always ensure parent folders exist without redundant checks, satisfying Clippy.
This commit is contained in:
Sline
2025-10-14 14:52:04 +08:00
committed by GitHub
parent 4dd811330b
commit 51b08be87e
14 changed files with 666 additions and 61 deletions

View File

@@ -387,7 +387,7 @@
"toggle_tun_mode": "Enable/Disable Tun Mode",
"entry_lightweight_mode": "Entry Lightweight Mode",
"Backup Setting": "Backup Setting",
"Backup Setting Info": "Support WebDAV backup configuration files",
"Backup Setting Info": "Support local or WebDAV backup of configuration files",
"Runtime Config": "Runtime Config",
"Open Conf Dir": "Open Conf Dir",
"Open Conf Dir Info": "If the software runs abnormally, BACKUP and delete all files in this folder then restart the software",
@@ -448,9 +448,13 @@
"Username": "Username",
"Password": "Password",
"Backup": "Backup",
"Local Backup": "Local backup",
"WebDAV Backup": "WebDAV backup",
"Select Backup Target": "Select backup target",
"Filename": "Filename",
"Actions": "Actions",
"Restore": "Restore",
"Export": "Export",
"No Backups": "No backups available",
"WebDAV URL Required": "WebDAV URL cannot be empty",
"Invalid WebDAV URL": "Invalid WebDAV URL format",
@@ -461,7 +465,13 @@
"WebDAV Config Save Failed": "Failed to save WebDAV configuration: {{error}}",
"Backup Created": "Backup created successfully",
"Backup Failed": "Backup failed: {{error}}",
"Local Backup Created": "Local backup created successfully",
"Local Backup Failed": "Local backup failed",
"Local Backup Exported": "Local backup exported successfully",
"Local Backup Export Failed": "Failed to export local backup",
"Local Backup Info": "Backups are stored locally in the application data directory. Use the list below to restore or delete backups.",
"Delete Backup": "Delete Backup",
"Export Backup": "Export Backup",
"Restore Backup": "Restore Backup",
"Backup Time": "Backup Time",
"Confirm to delete this backup file?": "Confirm to delete this backup file?",

View File

@@ -387,7 +387,7 @@
"toggle_tun_mode": "打开/关闭 TUN 模式",
"entry_lightweight_mode": "进入轻量模式",
"Backup Setting": "备份设置",
"Backup Setting Info": "支持 WebDAV 备份配置文件",
"Backup Setting Info": "支持本地或 WebDAV 方式备份配置文件",
"Runtime Config": "当前配置",
"Open Conf Dir": "配置目录",
"Open Conf Dir Info": "如果软件运行异常,!备份!并删除此文件夹下的所有文件,重启软件",
@@ -448,9 +448,13 @@
"Username": "用户名",
"Password": "密码",
"Backup": "备份",
"Local Backup": "本地备份",
"WebDAV Backup": "WebDAV 备份",
"Select Backup Target": "选择备份目标",
"Filename": "文件名称",
"Actions": "操作",
"Restore": "恢复",
"Export": "导出",
"No Backups": "暂无备份",
"WebDAV URL Required": "WebDAV 服务器地址不能为空",
"Invalid WebDAV URL": "无效的 WebDAV 服务器地址格式",
@@ -461,7 +465,13 @@
"WebDAV Config Save Failed": "保存 WebDAV 配置失败: {{error}}",
"Backup Created": "备份创建成功",
"Backup Failed": "备份失败: {{error}}",
"Local Backup Created": "本地备份创建成功",
"Local Backup Failed": "本地备份失败",
"Local Backup Exported": "本地备份导出成功",
"Local Backup Export Failed": "本地备份导出失败",
"Local Backup Info": "在应用数据目录中创建本地备份,您可以通过下方列表进行恢复或删除。",
"Delete Backup": "删除备份",
"Export Backup": "导出备份",
"Restore Backup": "恢复备份",
"Backup Time": "备份时间",
"Confirm to delete this backup file?": "确认删除此备份文件吗?",

View File

@@ -344,7 +344,7 @@
"toggle_tun_mode": "打開/關閉 TUN 模式",
"entry_lightweight_mode": "進入輕量模式",
"Backup Setting": "備份設置",
"Backup Setting Info": "支持 WebDAV 備份配置文件",
"Backup Setting Info": "支持本地或 WebDAV 方式備份配置文件",
"Runtime Config": "當前配置",
"Open Conf Dir": "配置目錄",
"Open Conf Dir Info": "如果軟件運行異常,!備份!並刪除此文件夾下的所有文件,重啟軟件",
@@ -393,9 +393,13 @@
"Username": "用戶名",
"Password": "密碼",
"Backup": "備份",
"Local Backup": "本地備份",
"WebDAV Backup": "WebDAV 備份",
"Select Backup Target": "選擇備份目標",
"Filename": "文件名稱",
"Actions": "操作",
"Restore": "恢復",
"Export": "匯出",
"No Backups": "暫無備份",
"WebDAV URL Required": "WebDAV 服務器地址不能為空",
"Invalid WebDAV URL": "無效的 WebDAV 服務器地址格式",
@@ -405,7 +409,13 @@
"WebDAV Config Save Failed": "保存 WebDAV 配置失敗: {{error}}",
"Backup Created": "備份創建成功",
"Backup Failed": "備份失敗: {{error}}",
"Local Backup Created": "本地備份創建成功",
"Local Backup Failed": "本地備份失敗",
"Local Backup Exported": "本地備份匯出成功",
"Local Backup Export Failed": "本地備份匯出失敗",
"Local Backup Info": "在應用資料目錄中建立本地備份,您可以透過下方列表進行恢復或刪除。",
"Delete Backup": "刪除備份",
"Export Backup": "匯出備份",
"Restore Backup": "恢復備份",
"Backup Time": "備份時間",
"Restore Success, App will restart in 1s": "恢復成功,應用將在 1 秒後重啟",