@@ -3,7 +3,9 @@ use tauri::{AppHandle, Emitter};
33use tauri_plugin_autostart:: MacosLauncher ;
44
55/// 注册插件
6- pub fn register_plugins ( app_handle : & AppHandle ) {
6+ pub fn register_plugins ( app_handle : & AppHandle ) -> anyhow:: Result < ( ) > {
7+ crate :: core:: logger:: startup_probe:: log ( "setup::register_plugins: begin" ) ;
8+
79 // Register the single instance plugin
810 #[ cfg( any( target_os = "windows" , target_os = "macos" , target_os = "linux" ) ) ]
911 #[ cfg( feature = "production" ) ]
@@ -27,27 +29,51 @@ pub fn register_plugins(app_handle: &AppHandle) {
2729 let _ = main_window. set_focus ( ) ;
2830 }
2931 } ) )
30- . unwrap ( ) ;
32+ . map_err ( |error| anyhow:: anyhow!( "single_instance plugin init failed: {}" , error) ) ?;
33+ #[ cfg( any( target_os = "windows" , target_os = "macos" , target_os = "linux" ) ) ]
34+ #[ cfg( feature = "production" ) ]
35+ crate :: core:: logger:: startup_probe:: log ( "setup::register_plugins: single_instance ok" ) ;
3136
3237 // Register process plugin
33- app_handle. plugin ( tauri_plugin_process:: init ( ) ) . unwrap ( ) ;
38+ app_handle
39+ . plugin ( tauri_plugin_process:: init ( ) )
40+ . map_err ( |error| anyhow:: anyhow!( "process plugin init failed: {}" , error) ) ?;
41+ crate :: core:: logger:: startup_probe:: log ( "setup::register_plugins: process ok" ) ;
3442
35- app_handle. plugin ( tauri_plugin_upload:: init ( ) ) . unwrap ( ) ;
43+ app_handle
44+ . plugin ( tauri_plugin_upload:: init ( ) )
45+ . map_err ( |error| anyhow:: anyhow!( "upload plugin init failed: {}" , error) ) ?;
46+ crate :: core:: logger:: startup_probe:: log ( "setup::register_plugins: upload ok" ) ;
3647
3748 // deep-link 插件
38- app_handle. plugin ( tauri_plugin_deep_link:: init ( ) ) . unwrap ( ) ;
49+ app_handle
50+ . plugin ( tauri_plugin_deep_link:: init ( ) )
51+ . map_err ( |error| anyhow:: anyhow!( "deep_link plugin init failed: {}" , error) ) ?;
52+ crate :: core:: logger:: startup_probe:: log ( "setup::register_plugins: deep_link ok" ) ;
3953
4054 // opener 插件
41- app_handle. plugin ( tauri_plugin_opener:: init ( ) ) . unwrap ( ) ;
55+ app_handle
56+ . plugin ( tauri_plugin_opener:: init ( ) )
57+ . map_err ( |error| anyhow:: anyhow!( "opener plugin init failed: {}" , error) ) ?;
58+ crate :: core:: logger:: startup_probe:: log ( "setup::register_plugins: opener ok" ) ;
4259
4360 // dialog 插件
44- app_handle. plugin ( tauri_plugin_dialog:: init ( ) ) . unwrap ( ) ;
61+ app_handle
62+ . plugin ( tauri_plugin_dialog:: init ( ) )
63+ . map_err ( |error| anyhow:: anyhow!( "dialog plugin init failed: {}" , error) ) ?;
64+ crate :: core:: logger:: startup_probe:: log ( "setup::register_plugins: dialog ok" ) ;
4565
4666 // store 插件
47- app_handle. plugin ( tauri_plugin_store:: Builder :: new ( ) . build ( ) ) . unwrap ( ) ;
67+ app_handle
68+ . plugin ( tauri_plugin_store:: Builder :: new ( ) . build ( ) )
69+ . map_err ( |error| anyhow:: anyhow!( "store plugin init failed: {}" , error) ) ?;
70+ crate :: core:: logger:: startup_probe:: log ( "setup::register_plugins: store ok" ) ;
4871
4972 // clipboard_manager
50- app_handle. plugin ( tauri_plugin_clipboard_manager:: init ( ) ) . unwrap ( ) ;
73+ app_handle
74+ . plugin ( tauri_plugin_clipboard_manager:: init ( ) )
75+ . map_err ( |error| anyhow:: anyhow!( "clipboard_manager plugin init failed: {}" , error) ) ?;
76+ crate :: core:: logger:: startup_probe:: log ( "setup::register_plugins: clipboard_manager ok" ) ;
5177
5278 // 自动启动插件
5379 #[ cfg( desktop) ]
@@ -56,17 +82,24 @@ pub fn register_plugins(app_handle: &AppHandle) {
5682 MacosLauncher :: LaunchAgent ,
5783 Some ( vec ! [ ] ) , /* 传递给应用程序的任意数量的参数 */
5884 ) )
59- . unwrap ( ) ;
85+ . map_err ( |error| anyhow:: anyhow!( "autostart plugin init failed: {}" , error) ) ?;
86+ #[ cfg( desktop) ]
87+ crate :: core:: logger:: startup_probe:: log ( "setup::register_plugins: autostart ok" ) ;
88+
89+ crate :: core:: logger:: startup_probe:: log ( "setup::register_plugins: completed" ) ;
90+ Ok ( ( ) )
6091}
6192
6293/// 注册深度链接
6394#[ allow( dead_code) ]
6495pub fn register_deep_link ( app : AppHandle ) -> Result < ( ) , anyhow:: Error > {
96+ crate :: core:: logger:: startup_probe:: log ( "setup::register_deep_link: begin" ) ;
6597 #[ cfg( any( windows, target_os = "linux" ) ) ]
6698 {
6799 use tauri_plugin_deep_link:: DeepLinkExt ;
68100 app. deep_link ( ) . register_all ( ) ?;
69101 } ;
102+ crate :: core:: logger:: startup_probe:: log ( "setup::register_deep_link: completed" ) ;
70103 Ok ( ( ) )
71104}
72105
@@ -89,15 +122,26 @@ pub fn init_server_public_key_background(app_handle: AppHandle) {
89122}
90123
91124pub fn init_simprint_runtime_background ( app_handle : AppHandle ) {
125+ crate :: core:: logger:: startup_probe:: log ( "setup::init_simprint_runtime_background: spawn" ) ;
92126 tauri:: async_runtime:: spawn ( async move {
93127 use crate :: app:: context:: AppContext ;
94128
129+ crate :: core:: logger:: startup_probe:: log (
130+ "setup::init_simprint_runtime_background: task begin" ,
131+ ) ;
95132 let ctx = AppContext :: get ( ) ;
96133 ctx. simprint_runtime_manager . set_app_handle ( app_handle. clone ( ) ) . await ;
97134 ctx. runtime_update_service . start_background ( app_handle. clone ( ) ) ;
98135
99136 if let Err ( error) = ctx. simprint_runtime_manager . start_background ( ) . await {
137+ crate :: core:: logger:: startup_probe:: log_error (
138+ "setup::init_simprint_runtime_background: start_background failed" ,
139+ error. to_string ( ) ,
140+ ) ;
100141 log:: warn!( "failed to start simprint-runtime: {}" , error) ;
101142 }
143+ crate :: core:: logger:: startup_probe:: log (
144+ "setup::init_simprint_runtime_background: task completed" ,
145+ ) ;
102146 } ) ;
103147}
0 commit comments