Skip to content

Commit ac9a801

Browse files
committed
fix: 修复编译错误 - JSON引号问题、Rust类型错误、api.ts重命名
1 parent 92fab41 commit ac9a801

6 files changed

Lines changed: 27 additions & 20 deletions

File tree

src-tauri/Cargo.lock

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src-tauri/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
[package]
22
name = "netmount"
33
description = "NetMount"
4-
version = "1.2.3"
4+
version = "1.2.4"
55
authors = ["VirtualHotBar"]
66
license = "AGPL-3.0"
77
repository = ""

src-tauri/locales/zh-cn.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -97,11 +97,11 @@
9797
"s3_rename_dir_not_supported": "S3等对象存储不支持直接重命名文件夹。请尝试:1) 在云端存储中直接重命名;2) 创建新文件夹,移动文件后删除旧文件夹。",
9898
"token_expired": "Token过期",
9999
"token_expired_tip": "存储的认证Token已过期或无效,请重新编辑存储并更新Token。对于百度网盘,请确保使用正确的refresh_token(不是access_token),并在百度开发者平台正确配置回调URL。",
100-
"network_share_tip": "提示:如需网络共享挂载的驱动器,请取消勾选"模拟本地硬盘"选项(即使用网络驱动器模式),并确保WinFsp已正确安装。部分存储类型可能不支持网络共享。",
101-
"nfs_not_supported_tip": "NFS不被直接支持。您可以在系统中挂载NFS共享,然后使用"本地存储"类型访问。Windows: 在命令行执行 mount \\\\server\\share Z:; macOS: 使用 mount_nfs server:/share /mnt/path; Linux: 使用 mount -t nfs server:/share /mnt/path。挂载后在NetMount中添加"本地存储"指向挂载点即可。",
100+
"network_share_tip": "提示:如需网络共享挂载的驱动器,请取消勾选模拟本地硬盘选项(即使用网络驱动器模式),并确保WinFsp已正确安装。部分存储类型可能不支持网络共享。",
101+
"nfs_not_supported_tip": "NFS不被直接支持。您可以在系统中挂载NFS共享,然后使用本地存储类型访问。Windows: 在命令行执行 mount \\\\server\\share Z:; macOS: 使用 mount_nfs server:/share /mnt/path; Linux: 使用 mount -t nfs server:/share /mnt/path。挂载后在NetMount中添加本地存储指向挂载点即可。",
102102
"webdav_path_tip": "WebDAV支持挂载指定路径。在URL中添加路径即可精确挂载,例如:http://server:port/dav/folder。挂载后将只显示该路径下的文件。",
103-
"mac_fuse_t_security_tip": "macOS安全提示:如果使用fuse-t挂载报错,请前往"系统设置 > 隐私与安全性",在"安全性"部分允许fuse-t内核扩展加载。对于macOS Sequoia及更高版本,可能需要重启并在启动时按住电源键进入恢复模式,在"启动安全性实用工具"中降低安全设置。",
104-
"baidu_token_tip": "百度网盘Token配置提示:请确保使用正确的refresh_token。如遇到"wrong refresh token"错误,请检查:1. refresh_token是否完整复制;2. 是否使用了access_token而非refresh_token;3. 应用是否已在百度开发者平台正确配置回调URL。",
103+
"mac_fuse_t_security_tip": "macOS安全提示:如果使用fuse-t挂载报错,请前往系统设置 > 隐私与安全性」,在「安全性部分允许fuse-t内核扩展加载。对于macOS Sequoia及更高版本,可能需要重启并在启动时按住电源键进入恢复模式,在启动安全性实用工具中降低安全设置。",
104+
"baidu_token_tip": "百度网盘Token配置提示:请确保使用正确的refresh_token。如遇到wrong refresh token错误,请检查:1. refresh_token是否完整复制;2. 是否使用了access_token而非refresh_token;3. 应用是否已在百度开发者平台正确配置回调URL。",
105105
"startup_password": "启动密码",
106106
"set_password": "设置密码",
107107
"change_password": "修改密码",

src-tauri/locales/zh-hant.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -204,7 +204,7 @@
204204
"service_mode_hint": "使用 --service 參數啟動時,不顯示介面,資源佔用更少",
205205
"install": "安裝",
206206
"winfsp_not_installed": "需要安裝依賴(WinFsp),才能掛載存儲。",
207-
"network_share_tip": "提示:如需網路共用掛載的磁碟機,請取消勾選"類比本地硬碟"選項(即使用網路磁碟機模式),並確保WinFsp已正確安裝。部分儲存類型可能不支援網路共用。",
207+
"network_share_tip": "提示:如需網路共用掛載的磁碟機,請取消勾選類比本地硬碟選項(即使用網路磁碟機模式),並確保WinFsp已正確安裝。部分儲存類型可能不支援網路共用。",
208208
"install_failed": "安裝失敗",
209209
"install_success": "安裝成功",
210210
"components": "組件",
@@ -773,10 +773,10 @@
773773
"error_resource_not_found": "{{resource}} 不存在",
774774
"error_operation_timeout": "{{operation}} 操作超時",
775775
"no_logs": "暫無日誌",
776-
"nfs_not_supported_tip": "NFS不被直接支持。您可以在系統中掛載NFS共享,然後使用"本地存儲"類型訪問。Windows: 在命令行執行 mount \\\\server\\share Z:; macOS: 使用 mount_nfs server:/share /mnt/path; Linux: 使用 mount -t nfs server:/share /mnt/path。掛載後在NetMount中添加"本地存儲"指向掛載點即可。",
776+
"nfs_not_supported_tip": "NFS不被直接支持。您可以在系統中掛載NFS共享,然後使用本地存儲類型訪問。Windows: 在命令行執行 mount \\\\server\\share Z:; macOS: 使用 mount_nfs server:/share /mnt/path; Linux: 使用 mount -t nfs server:/share /mnt/path。掛載後在NetMount中添加本地存儲指向掛載點即可。",
777777
"webdav_path_tip": "WebDAV支持掛載指定路徑。在URL中添加路徑即可精確掛載,例如:http://server:port/dav/folder。掛載後將只顯示該路徑下的文件。",
778-
"mac_fuse_t_security_tip": "macOS安全提示:如果使用fuse-t掛載報錯,請前往"系統設置 > 隱私與安全性",在"安全性"部分允許fuse-t內核擴展加載。對於macOS Sequoia及更高版本,可能需要重啟並在啟動時按住電源鍵進入恢復模式,在"啟動安全性實用工具"中降低安全設置。",
779-
"baidu_token_tip": "百度網盤Token配置提示:請確保使用正確的refresh_token。如遇到"wrong refresh token"錯誤,請檢查:1. refresh_token是否完整複製;2. 是否使用了access_token而非refresh_token;3. 應用是否已在百度開發者平台正確配置回調URL。",
778+
"mac_fuse_t_security_tip": "macOS安全提示:如果使用fuse-t掛載報錯,請前往系統設置 > 隱私與安全性」,在「安全性部分允許fuse-t內核擴展加載。對於macOS Sequoia及更高版本,可能需要重啟並在啟動時按住電源鍵進入恢復模式,在啟動安全性實用工具中降低安全設置。",
779+
"baidu_token_tip": "百度網盤Token配置提示:請確保使用正確的refresh_token。如遇到wrong refresh token錯誤,請檢查:1. refresh_token是否完整複製;2. 是否使用了access_token而非refresh_token;3. 應用是否已在百度開發者平台正確配置回調URL。",
780780
"rename_not_supported": "此存儲類型不支持重命名操作",
781781
"rename_failed": "重命名失敗",
782782
"s3_rename_dir_not_supported": "S3等對象存儲不支持直接重命名文件夾。請嘗試:1) 在雲端存儲中直接重命名;2) 創建新文件夾,移動文件後刪除舊文件夾。",

src-tauri/src/fs.rs

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -202,7 +202,8 @@ fn validate_path_in_allowed_dir(app: &tauri::AppHandle<Runtime>, path: &Path) ->
202202
#[tauri::command]
203203
pub fn read_json_file(app: tauri::AppHandle<Runtime>, path: Option<&str>) -> Result<Value, String> {
204204
let path_str = path.ok_or_else(|| "Path is required".to_string())?;
205-
let resolved_path = resolve_path(&app, path_str);
205+
let resolved_path = resolve_path(&app, path_str)
206+
.map_err(|e| e.to_string())?;
206207

207208
// 安全:验证路径在允许目录内
208209
let validated_path = validate_path_in_allowed_dir(&app, &resolved_path)
@@ -221,7 +222,8 @@ pub fn read_json_file(app: tauri::AppHandle<Runtime>, path: Option<&str>) -> Res
221222
#[tauri::command]
222223
pub async fn write_json_file(app: tauri::AppHandle<Runtime>, config_data: Value, path: Option<&str>) -> Result<(), String> {
223224
let path_str = path.ok_or_else(|| "Path is required".to_string())?;
224-
let resolved_path = resolve_path(&app, path_str);
225+
let resolved_path = resolve_path(&app, path_str)
226+
.map_err(|e| e.to_string())?;
225227

226228
// 安全:验证路径在允许目录内
227229
let validated_path = validate_path_in_allowed_dir(&app, &resolved_path)
@@ -238,8 +240,10 @@ pub async fn write_json_file(app: tauri::AppHandle<Runtime>, config_data: Value,
238240

239241
#[tauri::command]
240242
pub fn copy_file(app: tauri::AppHandle<Runtime>, src: &str, dest: &str) -> Result<(), String> {
241-
let src_path = resolve_path(&app, src);
242-
let dest_path = resolve_path(&app, dest);
243+
let src_path = resolve_path(&app, src)
244+
.map_err(|e| e.to_string())?;
245+
let dest_path = resolve_path(&app, dest)
246+
.map_err(|e| e.to_string())?;
243247

244248
// 安全:验证源路径和目标路径都在允许目录内
245249
let validated_src = validate_path_in_allowed_dir(&app, &src_path)
Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -93,8 +93,8 @@ function isMountListResponse(data: unknown): data is MountListResponse {
9393
data !== null &&
9494
'mountPoints' in data &&
9595
Array.isArray((data as Record<string, unknown>).mountPoints) &&
96-
(data as Record<string, unknown>).mountPoints.every(
97-
item =>
96+
((data as Record<string, unknown>).mountPoints as unknown[]).every(
97+
(item: unknown) =>
9898
typeof item === 'object' &&
9999
item !== null &&
100100
'mountPoint' in item &&
@@ -108,12 +108,15 @@ function isMountListResponse(data: unknown): data is MountListResponse {
108108
}
109109

110110
export {
111-
AsyncJobResponse,
112-
JobStatusResponse,
113-
RcloneVersionResponse,
114-
MountListResponse,
115111
isAsyncJobResponse,
116112
isJobStatusResponse,
117113
isRcloneVersionResponse,
118114
isMountListResponse,
119115
}
116+
117+
export type {
118+
AsyncJobResponse,
119+
JobStatusResponse,
120+
RcloneVersionResponse,
121+
MountListResponse,
122+
}

0 commit comments

Comments
 (0)