feat: add put_profiles cmd
This commit is contained in:
parent
1c3ae5c4bc
commit
0c23845970
@ -84,6 +84,7 @@ pub fn get_profiles(lock: State<'_, ProfileLock>) -> Option<ProfilesConfig> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
#[tauri::command]
|
#[tauri::command]
|
||||||
|
/// update the profile config
|
||||||
pub fn set_profiles(
|
pub fn set_profiles(
|
||||||
current: usize,
|
current: usize,
|
||||||
profile: ProfileItem,
|
profile: ProfileItem,
|
||||||
@ -131,3 +132,30 @@ pub fn set_profiles(
|
|||||||
|
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[tauri::command]
|
||||||
|
/// change to target profile
|
||||||
|
pub fn put_profiles(current: usize, lock: State<'_, ProfileLock>) -> Result<(), String> {
|
||||||
|
match lock.0.lock() {
|
||||||
|
Ok(_) => {}
|
||||||
|
Err(_) => return Err(format!("can not get file locked")),
|
||||||
|
};
|
||||||
|
|
||||||
|
let mut profiles = read_profiles();
|
||||||
|
|
||||||
|
let items_len = match &profiles.items {
|
||||||
|
Some(p) => p.len(),
|
||||||
|
None => 0,
|
||||||
|
};
|
||||||
|
|
||||||
|
if current >= items_len {
|
||||||
|
Err(format!(
|
||||||
|
"failed to change profile to the index `{}`",
|
||||||
|
current
|
||||||
|
))
|
||||||
|
} else {
|
||||||
|
profiles.current = Some(current as u32);
|
||||||
|
save_profiles(&profiles);
|
||||||
|
Ok(())
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@ -61,7 +61,8 @@ fn main() -> std::io::Result<()> {
|
|||||||
cmd::get_clash_info,
|
cmd::get_clash_info,
|
||||||
cmd::import_profile,
|
cmd::import_profile,
|
||||||
cmd::get_profiles,
|
cmd::get_profiles,
|
||||||
cmd::set_profiles
|
cmd::set_profiles,
|
||||||
|
cmd::put_profiles,
|
||||||
])
|
])
|
||||||
.build(tauri::generate_context!())
|
.build(tauri::generate_context!())
|
||||||
.expect("error while running tauri application");
|
.expect("error while running tauri application");
|
||||||
|
Loading…
Reference in New Issue
Block a user