@@ -2194,26 +2194,31 @@ fn packaged_fallback_webui_dir(root_dir: Option<&Path>) -> Option<PathBuf> {
21942194 }
21952195}
21962196
2197- fn packaged_webui_missing_embedded_error ( locale : & str , embedded_index : & Path ) -> String {
2198- if locale == "en-US" {
2199- return format ! (
2200- "Packaged WebUI is unavailable. Missing embedded index at {} and fallback data/dist. Please reinstall AstrBot or download the matching dist.zip to data/dist." ,
2201- embedded_index. display( )
2202- ) ;
2203- }
2204-
2205- format ! (
2206- "内置 WebUI 不可用。缺少内置入口文件:{},且回退目录 data/dist 也不可用。请重装 AstrBot,或下载匹配版本的 dist.zip 到 data/dist。" ,
2207- embedded_index. display( )
2208- )
2197+ fn packaged_fallback_webui_index_display ( root_dir : Option < & Path > ) -> String {
2198+ packaged_fallback_webui_probe_dir ( root_dir)
2199+ . map ( |path| path. join ( "index.html" ) . display ( ) . to_string ( ) )
2200+ . unwrap_or_else ( || "<unresolved>" . to_string ( ) )
22092201}
22102202
2211- fn packaged_webui_missing_embedded_dir_error ( locale : & str ) -> String {
2203+ fn packaged_webui_unavailable_error ( locale : & str , embedded_index : Option < & Path > ) -> String {
22122204 if locale == "en-US" {
2205+ if let Some ( index) = embedded_index {
2206+ return format ! (
2207+ "Packaged WebUI is unavailable. Missing embedded index at {} and fallback data/dist. Please reinstall AstrBot or download the matching dist.zip to data/dist." ,
2208+ index. display( )
2209+ ) ;
2210+ }
22132211 return "Packaged WebUI directory is missing and fallback data/dist is unavailable. Please reinstall AstrBot or download the matching dist.zip to data/dist."
22142212 . to_string ( ) ;
22152213 }
22162214
2215+ if let Some ( index) = embedded_index {
2216+ return format ! (
2217+ "内置 WebUI 不可用。缺少内置入口文件:{},且回退目录 data/dist 也不可用。请重装 AstrBot,或下载匹配版本的 dist.zip 到 data/dist。" ,
2218+ index. display( )
2219+ ) ;
2220+ }
2221+
22172222 "内置 WebUI 目录缺失,且回退目录 data/dist 也不可用。请重装 AstrBot,或下载匹配版本的 dist.zip 到 data/dist。" . to_string ( )
22182223}
22192224
@@ -2223,8 +2228,6 @@ fn resolve_packaged_webui_dir(
22232228) -> Result < PathBuf , String > {
22242229 let locale = resolve_shell_locale ( ) ;
22252230 let fallback_webui_dir = packaged_fallback_webui_dir ( root_dir) ;
2226- let fallback_index_path = packaged_fallback_webui_probe_dir ( root_dir)
2227- . map ( |path| path. join ( "index.html" ) . display ( ) . to_string ( ) ) ;
22282231
22292232 match embedded_webui_dir {
22302233 Some ( candidate) => {
@@ -2246,16 +2249,16 @@ fn resolve_packaged_webui_dir(
22462249 return Ok ( fallback) ;
22472250 }
22482251
2249- let fallback_index = fallback_index_path . unwrap_or_else ( || "<unresolved>" . to_string ( ) ) ;
2252+ let fallback_index = packaged_fallback_webui_index_display ( root_dir ) ;
22502253 append_desktop_log ( & format ! (
22512254 "packaged webui resolution failed: embedded index missing at {}, fallback index missing at {}" ,
22522255 embedded_index. display( ) ,
22532256 fallback_index
22542257 ) ) ;
22552258
2256- Err ( packaged_webui_missing_embedded_error (
2259+ Err ( packaged_webui_unavailable_error (
22572260 locale,
2258- & embedded_index,
2261+ Some ( & embedded_index) ,
22592262 ) )
22602263 }
22612264 None => {
@@ -2267,13 +2270,13 @@ fn resolve_packaged_webui_dir(
22672270 return Ok ( fallback) ;
22682271 }
22692272
2270- let fallback_index = fallback_index_path . unwrap_or_else ( || "<unresolved>" . to_string ( ) ) ;
2273+ let fallback_index = packaged_fallback_webui_index_display ( root_dir ) ;
22712274 append_desktop_log ( & format ! (
22722275 "packaged webui resolution failed: embedded webui directory is missing, fallback index missing at {}" ,
22732276 fallback_index
22742277 ) ) ;
22752278
2276- Err ( packaged_webui_missing_embedded_dir_error ( locale) )
2279+ Err ( packaged_webui_unavailable_error ( locale, None ) )
22772280 }
22782281 }
22792282}
0 commit comments