修复 login.rs 中的变量名错误并更新默认 features
- Cargo.toml: 默认启用 web 和 server features - login.rs: 修复 cookie 设置中的变量名错误 (token -> _token) - 格式化 login.rs 中的结构体模式匹配 Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
cbf19b3f47
commit
401556c24e
@ -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",
|
||||
|
||||
@ -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::<web_sys::HtmlDocument>()
|
||||
let _ = document
|
||||
.dyn_into::<web_sys::HtmlDocument>()
|
||||
.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) => {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user