Add utility functions and configurations for rustfs-gui (#220)

* Initialize rustfs-gui crate

- Set up the `rustfs-gui` package in the workspace.
- Add `dioxus` dependency with `router` feature.
- Configure workspace settings for edition, license, repository, and rust-version.
- Include lints configuration for the workspace.

* Add utility functions and configurations for rustfs-gui

- Implement `RustFSConfig` struct with default values and methods for loading, saving, and clearing configurations.
- Add `ServiceCommand` enum for managing service commands.
- Implement `ServiceManager` struct for starting, stopping, and restarting the service.
- Include helper functions for checking service status, preparing the service, downloading files, and unzipping files.
- Add logging and error handling for service operations.
This commit is contained in:
houseme
2025-02-18 00:55:34 +08:00
committed by GitHub
parent f8cc6f45b8
commit 624889bae5
9 changed files with 4827 additions and 270 deletions
+6 -1
View File
@@ -38,10 +38,11 @@ bytesize = "1.3.0"
chrono = { version = "0.4.39", features = ["serde"] }
clap = { version = "4.5.27", features = ["derive", "env"] }
dioxus = { version = "0.6.3", features = ["router"] }
dirs = "6.0.0"
ecstore = { path = "./ecstore" }
flatbuffers = "24.12.23"
futures = "0.3.31"
futures-util = "0.3.30"
futures-util = "0.3.31"
common = { path = "./common/common" }
reader = { path = "./reader" }
hyper = "1.6.0"
@@ -53,6 +54,7 @@ hyper-util = { version = "0.1.10", features = [
http = "1.2.0"
http-body = "1.0.1"
humantime = "2.1.0"
keyring = { version = "3.6.1", features = ["apple-native", "windows-native", "sync-secret-service"] }
lock = { path = "./common/lock" }
lazy_static = "1.5.0"
mime = "0.3.17"
@@ -65,6 +67,8 @@ prost-types = "0.13.4"
protobuf = "3.7"
protos = { path = "./common/protos" }
rand = "0.8.5"
reqwest = { version = "0.12.12", default-features = false, features = ["rustls-tls", "charset", "http2", "macos-system-configuration", "stream"] }
rfd = "0.15.2"
rmp = "0.8.14"
rmp-serde = "1.3.0"
s3s = { git = "https://github.com/Nugine/s3s.git", rev = "529c8933a11528c506d5fbf7c4c2ab155db37dfe", default-features = true, features = [
@@ -103,3 +107,4 @@ axum = "0.7.9"
md-5 = "0.10.6"
workers = { path = "./common/workers" }
test-case = "3.3.1"
zip = "2.2.2"