fix(ios): 🐛 fix ios real machine stuck on startup page due to useNetworkStatus()

This commit is contained in:
Dawn
2026-01-09 15:03:41 +08:00
parent cb2028a971
commit 8c18806a83
4 changed files with 24 additions and 15 deletions

File diff suppressed because one or more lines are too long

View File

@@ -1,6 +1,6 @@
use std::sync::Mutex;
use tauri::async_runtime::JoinHandle;
use tauri::{AppHandle, Emitter, Manager, Runtime, State};
use tauri::{AppHandle, Emitter, Runtime, State};
use tokio::io::{AsyncReadExt, AsyncWriteExt};
use tokio::net::TcpListener;

View File

@@ -83,19 +83,26 @@ impl DatabaseSettings {
app_handle: &AppHandle,
) -> Result<DatabaseConnection, CommonError> {
// 数据库路径配置:
let db_path = match app_handle.path().app_data_dir() {
Ok(app_data_dir) => {
if let Err(create_err) = std::fs::create_dir_all(&app_data_dir) {
tracing::warn!("Failed to create app_data_dir: {}", create_err);
let db_path = if cfg!(debug_assertions) && cfg!(desktop) {
// 桌面端开发环境使用项目根目录src-tauri
let mut path = PathBuf::from(env!("CARGO_MANIFEST_DIR"));
path.push("db.sqlite");
path
} else {
match app_handle.path().app_data_dir() {
Ok(app_data_dir) => {
if let Err(create_err) = std::fs::create_dir_all(&app_data_dir) {
tracing::warn!("Failed to create app_data_dir: {}", create_err);
}
let db_path = app_data_dir.join("db.sqlite");
info!("Using app_data_dir database path: {:?}", db_path);
db_path
}
Err(e) => {
let error_msg = format!("Failed to get app_data_dir: {}", e);
tracing::error!("{}", error_msg);
return Err(CommonError::RequestError(error_msg).into());
}
let db_path = app_data_dir.join("db.sqlite");
info!("Using app_data_dir database path: {:?}", db_path);
db_path
}
Err(e) => {
let error_msg = format!("Failed to get app_data_dir: {}", e);
tracing::error!("{}", error_msg);
return Err(CommonError::RequestError(error_msg).into());
}
};
info!("Database path: {:?}", db_path);

View File

@@ -77,7 +77,9 @@ const { themes, lockScreen, page, login } = storeToRefs(settingStore)
// 全局快捷键管理
const { initializeGlobalShortcut, cleanupGlobalShortcut } = useGlobalShortcut()
// 提前初始化网络状态监听,确保不错过 WebSocket 状态变化事件
useNetworkStatus()
if (isDesktop()) {
useNetworkStatus()
}
/** 不需要锁屏的页面 */
const LockExclusion = new Set(['/login', '/tray', '/qrCode', '/about', '/onlineStatus', '/capture'])