🐛 修复获取config的地址
This commit is contained in:
21
src-tauri/Cargo.lock
generated
21
src-tauri/Cargo.lock
generated
@@ -42,6 +42,7 @@ checksum = "7de8ce5e0f9f8d88245311066a578d72b7af3e7088f32783804676302df237e4"
|
||||
name = "app"
|
||||
version = "0.1.0"
|
||||
dependencies = [
|
||||
"dirs",
|
||||
"home",
|
||||
"image",
|
||||
"serde",
|
||||
@@ -563,6 +564,15 @@ dependencies = [
|
||||
"crypto-common",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "dirs"
|
||||
version = "5.0.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "dece029acd3353e3a58ac2e3eb3c8d6c35827a892edc6cc4138ef9c33df46ecd"
|
||||
dependencies = [
|
||||
"dirs-sys",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "dirs-next"
|
||||
version = "2.0.0"
|
||||
@@ -573,6 +583,17 @@ dependencies = [
|
||||
"dirs-sys-next",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "dirs-sys"
|
||||
version = "0.4.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "04414300db88f70d74c5ff54e50f9e1d1737d9a5b90f53fcf2e95ca2a9ab554b"
|
||||
dependencies = [
|
||||
"libc",
|
||||
"redox_users",
|
||||
"windows-sys 0.45.0",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "dirs-sys-next"
|
||||
version = "0.1.2"
|
||||
|
||||
@@ -20,6 +20,7 @@ serde = { version = "1.0.150", features = ["derive"] }
|
||||
tauri = { version = "1.2.1", features = ["api-all", "devtools", "system-tray"] }
|
||||
image = "0.24.5"
|
||||
home = "0.5"
|
||||
dirs = "5.0"
|
||||
tauri-plugin-window-state = { git = "https://github.com/tauri-apps/plugins-workspace", branch = "dev" }
|
||||
|
||||
[features]
|
||||
|
||||
@@ -1,37 +1,28 @@
|
||||
use crate::app::config::PakeConfig;
|
||||
use std::path::PathBuf;
|
||||
use tauri::Config;
|
||||
use dirs::config_dir;
|
||||
|
||||
pub fn get_pake_config() -> (PakeConfig, Config) {
|
||||
let pake_config: PakeConfig =
|
||||
serde_json::from_str(include_str!("../pake.json")).expect("failed to parse pake config");
|
||||
serde_json::from_str(include_str!("../pake.json")).expect("Failed to parse pake config");
|
||||
|
||||
let tauri_config: Config = serde_json::from_str(include_str!("../tauri.conf.json"))
|
||||
.expect("failed to parse tauri config");
|
||||
.expect("Failed to parse tauri config");
|
||||
|
||||
(pake_config, tauri_config)
|
||||
}
|
||||
|
||||
pub fn get_data_dir(_tauri_config: Config) -> PathBuf {
|
||||
#[cfg(any(target_os = "linux", target_os = "windows"))]
|
||||
{
|
||||
let package_name = _tauri_config.package.product_name.unwrap();
|
||||
let home_dir = home::home_dir().expect("Error, can't found your home dir!!");
|
||||
|
||||
let data_dir = match cfg!(target_os = "windows") {
|
||||
true => home_dir.join("AppData").join("Roaming").join(package_name),
|
||||
false => home_dir.join(".config").join(package_name),
|
||||
};
|
||||
let data_dir = config_dir().expect("Failed to get data dirname").join(package_name);
|
||||
|
||||
if !data_dir.exists() {
|
||||
std::fs::create_dir(&data_dir)
|
||||
.unwrap_or_else(|_| panic!("can't create dir {}", data_dir.display()));
|
||||
.unwrap_or_else(|_| panic!("Can't create dir {}", data_dir.display()));
|
||||
}
|
||||
data_dir
|
||||
}
|
||||
#[cfg(target_os = "macos")]
|
||||
{
|
||||
PathBuf::new()
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user