diff --git a/Cargo.toml b/Cargo.toml index 6d8d94e..9d6074e 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -22,7 +22,7 @@ web-sys = { version = "0.3", features = ["Document", "Window", "HtmlDocument", " wasm-bindgen = "0.2" [features] -default = [] +default = ["web", "server"] web = ["dioxus/web"] server = [ "dioxus/server", diff --git a/src/pages/login.rs b/src/pages/login.rs index c4a6a57..d6965f6 100644 --- a/src/pages/login.rs +++ b/src/pages/login.rs @@ -19,18 +19,23 @@ pub fn LoginPage() -> Element { spawn(async move { match login(username_val, password_val).await { - Ok(AuthResponse { success: true, token: Some(_token), .. }) => { + Ok(AuthResponse { + success: true, + token: Some(_token), + .. + }) => { // 设置 cookie (client-side, not HttpOnly but works for now) #[cfg(target_arch = "wasm32")] { let cookie = format!( "session={}; path=/; max-age={}; SameSite=Lax", - token, + _token, 30 * 24 * 60 * 60 // 30 days ); if let Some(window) = web_sys::window() { if let Some(document) = window.document() { - let _ = document.dyn_into::() + let _ = document + .dyn_into::() .map(|d| d.set_cookie(&cookie)); } } @@ -38,10 +43,18 @@ pub fn LoginPage() -> Element { // 跳转到 admin 页面 let _ = dioxus::router::navigator().push("/admin"); } - Ok(AuthResponse { success: false, message, .. }) => { + Ok(AuthResponse { + success: false, + message, + .. + }) => { error.set(Some(message)); } - Ok(AuthResponse { success: true, token: None, .. }) => { + Ok(AuthResponse { + success: true, + token: None, + .. + }) => { error.set(Some("登录异常".to_string())); } Err(e) => {