From 911c17f52d4b8b6010f6ab48f4c1e1f1c03b3d8c Mon Sep 17 00:00:00 2001 From: Vixalie Date: Mon, 28 Jul 2025 08:34:00 +0800 Subject: [PATCH] =?UTF-8?q?feat(tauri):=20=E6=B7=BB=E5=8A=A0=E6=96=B0?= =?UTF-8?q?=E5=8A=9F=E8=83=BD=E5=B9=B6=E4=BC=98=E5=8C=96=E5=BA=94=E7=94=A8?= =?UTF-8?q?=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 新增 @solid-primitives/filesystem、@solid-primitives/scheduled 和 @solid-primitives/storage 依赖 - 添加 @tauri-apps/plugin-dialog、@tauri-apps/plugin-fs 和 @tauri-apps/plugin-store 插件 - 更新应用窗口配置,移除 titleBarStyle 设置 - 修改应用名称为 "Comfy Resource Downloader" - 更新 ESLint 配置,移除 Solid 相关规则 --- deno.lock | 66 +++++++++++++++++++++++++++++ eslint.config.mjs | 3 -- package.json | 6 +++ src-tauri/Cargo.toml | 3 ++ src-tauri/capabilities/default.json | 5 ++- src-tauri/src/lib.rs | 3 ++ src-tauri/tauri.conf.json | 5 +-- 7 files changed, 84 insertions(+), 7 deletions(-) diff --git a/deno.lock b/deno.lock index 6e48372..47bbe94 100644 --- a/deno.lock +++ b/deno.lock @@ -3,11 +3,17 @@ "specifiers": { "npm:@eslint/js@^9.31.0": "9.31.0", "npm:@iconify-icon/solid@3": "3.0.0_solid-js@1.9.7__seroval@1.3.2", + "npm:@solid-primitives/filesystem@^1.3.2": "1.3.2_solid-js@1.9.7__seroval@1.3.2", + "npm:@solid-primitives/scheduled@^1.5.2": "1.5.2_solid-js@1.9.7__seroval@1.3.2", + "npm:@solid-primitives/storage@^4.3.3": "4.3.3_@tauri-apps+plugin-store@2.3.0_solid-js@1.9.7__seroval@1.3.2", "npm:@solidjs/router@~0.15.3": "0.15.3_solid-js@1.9.7__seroval@1.3.2", "npm:@tailwindcss/vite@^4.1.11": "4.1.11_vite@7.0.2__picomatch@4.0.2", "npm:@tauri-apps/api@2": "2.6.0", "npm:@tauri-apps/cli@2": "2.6.2", + "npm:@tauri-apps/plugin-dialog@~2.3.1": "2.3.1", + "npm:@tauri-apps/plugin-fs@~2.4.1": "2.4.1", "npm:@tauri-apps/plugin-opener@2": "2.4.0", + "npm:@tauri-apps/plugin-store@2.3": "2.3.0", "npm:@types/lodash-es@^4.17.12": "4.17.12", "npm:clsx@^2.1.1": "2.1.1", "npm:dayjs@^1.11.13": "1.11.13", @@ -757,6 +763,39 @@ "cpu": ["x64"], "tarball": "https://registry.npmmirror.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.44.2.tgz" }, + "@solid-primitives/filesystem@1.3.2_solid-js@1.9.7__seroval@1.3.2": { + "integrity": "sha512-6t8sGocIbpMdbknlGFYapVhkHn27ykdbKA67BvOO707dxGzDXtGHEFDZqovUo85Rk3rR/FzI9PdmQpltDj/aqQ==", + "dependencies": [ + "solid-js" + ], + "tarball": "https://registry.npmmirror.com/@solid-primitives/filesystem/-/filesystem-1.3.2.tgz" + }, + "@solid-primitives/scheduled@1.5.2_solid-js@1.9.7__seroval@1.3.2": { + "integrity": "sha512-/j2igE0xyNaHhj6kMfcUQn5rAVSTLbAX+CDEBm25hSNBmNiHLu2lM7Usj2kJJ5j36D67bE8wR1hBNA8hjtvsQA==", + "dependencies": [ + "solid-js" + ], + "tarball": "https://registry.npmmirror.com/@solid-primitives/scheduled/-/scheduled-1.5.2.tgz" + }, + "@solid-primitives/storage@4.3.3_@tauri-apps+plugin-store@2.3.0_solid-js@1.9.7__seroval@1.3.2": { + "integrity": "sha512-ACbNwMZ1s8VAvld6EUXkDkX/US3IhtlPLxg6+B2s9MwNUugwdd51I98LPEaHrdLpqPmyzqgoJe0TxEFlf3Dqrw==", + "dependencies": [ + "@solid-primitives/utils", + "@tauri-apps/plugin-store", + "solid-js" + ], + "optionalPeers": [ + "@tauri-apps/plugin-store" + ], + "tarball": "https://registry.npmmirror.com/@solid-primitives/storage/-/storage-4.3.3.tgz" + }, + "@solid-primitives/utils@6.3.2_solid-js@1.9.7__seroval@1.3.2": { + "integrity": "sha512-hZ/M/qr25QOCcwDPOHtGjxTD8w2mNyVAYvcfgwzBHq2RwNqHNdDNsMZYap20+ruRwW4A3Cdkczyoz0TSxLCAPQ==", + "dependencies": [ + "solid-js" + ], + "tarball": "https://registry.npmmirror.com/@solid-primitives/utils/-/utils-6.3.2.tgz" + }, "@solidjs/router@0.15.3_solid-js@1.9.7__seroval@1.3.2": { "integrity": "sha512-iEbW8UKok2Oio7o6Y4VTzLj+KFCmQPGEpm1fS3xixwFBdclFVBvaQVeibl1jys4cujfAK5Kn6+uG2uBm3lxOMw==", "dependencies": [ @@ -977,6 +1016,20 @@ "bin": true, "tarball": "https://registry.npmmirror.com/@tauri-apps/cli/-/cli-2.6.2.tgz" }, + "@tauri-apps/plugin-dialog@2.3.1": { + "integrity": "sha512-B7jvyhycV8SI/WHzPjciwtYfdFM6/9EXuMjRgYWZwn8GPDmHxpT80aJdb/eDVN+NgoAFDh9bu4QPonYahoYnZQ==", + "dependencies": [ + "@tauri-apps/api" + ], + "tarball": "https://registry.npmmirror.com/@tauri-apps/plugin-dialog/-/plugin-dialog-2.3.1.tgz" + }, + "@tauri-apps/plugin-fs@2.4.1": { + "integrity": "sha512-vJlKZVGF3UAFGoIEVT6Oq5L4HGDCD78WmA4uhzitToqYiBKWAvZR61M6zAyQzHqLs0ADemkE4RSy/5sCmZm6ZQ==", + "dependencies": [ + "@tauri-apps/api" + ], + "tarball": "https://registry.npmmirror.com/@tauri-apps/plugin-fs/-/plugin-fs-2.4.1.tgz" + }, "@tauri-apps/plugin-opener@2.4.0": { "integrity": "sha512-43VyN8JJtvKWJY72WI/KNZszTpDpzHULFxQs0CJBIYUdCRowQ6Q1feWTDb979N7nldqSuDOaBupZ6wz2nvuWwQ==", "dependencies": [ @@ -984,6 +1037,13 @@ ], "tarball": "https://registry.npmmirror.com/@tauri-apps/plugin-opener/-/plugin-opener-2.4.0.tgz" }, + "@tauri-apps/plugin-store@2.3.0": { + "integrity": "sha512-mre8er0nXPhyEWQzWCpUd+UnEoBQYcoA5JYlwpwOV9wcxKqlXTGfminpKsE37ic8NUb2BIZqf0QQ9/U3ib2+/A==", + "dependencies": [ + "@tauri-apps/api" + ], + "tarball": "https://registry.npmmirror.com/@tauri-apps/plugin-store/-/plugin-store-2.3.0.tgz" + }, "@tybys/wasm-util@0.9.0": { "integrity": "sha512-6+7nlbMVX/PVDCwaIQ8nTOPveOcFLSt8GcXdx8hD0bt39uWxYT88uXzqTd4fTvqta7oeUJqudepapKNt2DYJFw==", "dependencies": [ @@ -2329,11 +2389,17 @@ "dependencies": [ "npm:@eslint/js@^9.31.0", "npm:@iconify-icon/solid@3", + "npm:@solid-primitives/filesystem@^1.3.2", + "npm:@solid-primitives/scheduled@^1.5.2", + "npm:@solid-primitives/storage@^4.3.3", "npm:@solidjs/router@~0.15.3", "npm:@tailwindcss/vite@^4.1.11", "npm:@tauri-apps/api@2", "npm:@tauri-apps/cli@2", + "npm:@tauri-apps/plugin-dialog@~2.3.1", + "npm:@tauri-apps/plugin-fs@~2.4.1", "npm:@tauri-apps/plugin-opener@2", + "npm:@tauri-apps/plugin-store@2.3", "npm:@types/lodash-es@^4.17.12", "npm:clsx@^2.1.1", "npm:dayjs@^1.11.13", diff --git a/eslint.config.mjs b/eslint.config.mjs index 0b21d14..4da50fa 100644 --- a/eslint.config.mjs +++ b/eslint.config.mjs @@ -28,9 +28,6 @@ export default [ }, rules: { ...solid.configs.typescript.rules, - 'solid/reactivity': 'warn', - 'solid/no-destructure': 'warn', - 'solid/jsx-no-undef': 'error', }, }, ]; diff --git a/package.json b/package.json index 0de5694..1b10da7 100644 --- a/package.json +++ b/package.json @@ -14,8 +14,14 @@ "license": "MIT", "dependencies": { "@iconify-icon/solid": "^3.0.0", + "@solid-primitives/filesystem": "^1.3.2", + "@solid-primitives/scheduled": "^1.5.2", + "@solid-primitives/storage": "^4.3.3", "@solidjs/router": "^0.15.3", "@tailwindcss/vite": "^4.1.11", + "@tauri-apps/plugin-dialog": "~2.3.1", + "@tauri-apps/plugin-fs": "~2.4.1", + "@tauri-apps/plugin-store": "~2.3.0", "clsx": "^2.1.1", "dayjs": "^1.11.13", "lodash-es": "^4.17.21", diff --git a/src-tauri/Cargo.toml b/src-tauri/Cargo.toml index d98dbab..c6167c1 100644 --- a/src-tauri/Cargo.toml +++ b/src-tauri/Cargo.toml @@ -22,4 +22,7 @@ tauri = { version = "2", features = [] } tauri-plugin-opener = "2" serde = { version = "1", features = ["derive"] } serde_json = "1" +tauri-plugin-store = "2" +tauri-plugin-fs = "2" +tauri-plugin-dialog = "2" diff --git a/src-tauri/capabilities/default.json b/src-tauri/capabilities/default.json index a5dc0f4..ff3579a 100644 --- a/src-tauri/capabilities/default.json +++ b/src-tauri/capabilities/default.json @@ -8,6 +8,9 @@ "permissions": [ "core:default", "opener:default", - "core:window:allow-start-dragging" + "core:window:allow-start-dragging", + "store:default", + "fs:default", + "dialog:default" ] } \ No newline at end of file diff --git a/src-tauri/src/lib.rs b/src-tauri/src/lib.rs index 4a277ef..51c60ab 100644 --- a/src-tauri/src/lib.rs +++ b/src-tauri/src/lib.rs @@ -7,6 +7,9 @@ fn greet(name: &str) -> String { #[cfg_attr(mobile, tauri::mobile_entry_point)] pub fn run() { tauri::Builder::default() + .plugin(tauri_plugin_dialog::init()) + .plugin(tauri_plugin_fs::init()) + .plugin(tauri_plugin_store::Builder::new().build()) .plugin(tauri_plugin_opener::init()) .invoke_handler(tauri::generate_handler![greet]) .run(tauri::generate_context!()) diff --git a/src-tauri/tauri.conf.json b/src-tauri/tauri.conf.json index 6475839..06f7002 100644 --- a/src-tauri/tauri.conf.json +++ b/src-tauri/tauri.conf.json @@ -12,14 +12,13 @@ "app": { "windows": [ { - "title": "comfy-downloader", + "title": "Comfy Resource Downloader", "width": 1200, "height": 800, "minWidth": 1200, "minHeight": 800, "resizable": true, - "hiddenTitle": true, - "titleBarStyle": "Overlay", + "hiddenTitle": false, "theme": "Dark" } ],