This commit is contained in:
fengchuanhn@gmail.com
2026-05-18 15:11:59 +08:00
parent 4771397301
commit cdbf605205
25 changed files with 1497 additions and 112 deletions

View File

@@ -1,6 +1,10 @@
pub mod api_client;
pub mod api_crypto;
pub mod app_config;
pub mod audio_db;
pub mod audio_store;
pub mod avatar_db;
pub mod avatar_store;
pub mod local_config;
pub mod asr;
pub mod auth_session;
@@ -21,16 +25,22 @@ pub fn run() {
tauri::Builder::default()
.manage(auth_session::AuthSession::default())
.manage(app_config::AppConfig::new())
.manage(avatar_store::AvatarStore::new())
.manage(audio_store::AudioStore::new())
.setup(|app| {
let handle = app.handle().clone();
tauri::async_runtime::block_on(async move {
let app_config = handle.state::<app_config::AppConfig>();
let avatar_store = handle.state::<avatar_store::AvatarStore>();
let audio_store = handle.state::<audio_store::AudioStore>();
let dir = handle
.path()
.app_data_dir()
.map_err(|e| format!("无法获取应用数据目录: {e}"))?;
let db_path = dir.join("local_config.db");
app_config.init_local_store(db_path).await?;
avatar_store.init(dir.join("avatars.db")).await?;
audio_store.init(dir.join("generated_audios.db")).await?;
Ok::<(), String>(())
})
.map_err(|e| -> Box<dyn std::error::Error> { e.into() })?;
@@ -44,6 +54,7 @@ pub fn run() {
}
}))
.plugin(tauri_plugin_opener::init())
.plugin(tauri_plugin_dialog::init())
.invoke_handler(tauri::generate_handler![
commands::api::api_request,
commands::auth::sync_auth_session,
@@ -61,6 +72,15 @@ pub fn run() {
commands::nodejs::run_nodejs_script_source,
commands::nodejs::list_nodejs_scripts,
commands::fs_util::read_local_file_base64,
commands::avatar::list_avatars,
commands::avatar::insert_avatar,
commands::avatar::update_avatar_name,
commands::avatar::delete_avatar,
commands::avatar::avatar_name_exists,
commands::avatar::import_avatar_video,
commands::audio::list_generated_audios,
commands::audio::insert_generated_audio,
commands::audio::delete_generated_audio,
])
.run(tauri::generate_context!())
.expect("error while running tauri application");