feat: introduce typed resp request

This commit is contained in:
mokurin000
2025-07-30 04:27:32 +08:00
parent 5ea8ebbf64
commit dd1bb5fb5c
5 changed files with 87 additions and 7 deletions

View File

@@ -0,0 +1,45 @@
use std::time::{SystemTime, UNIX_EPOCH};
use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, PartialEq, Serialize)]
#[serde(rename_all = "camelCase")]
pub struct UserLogoutApi {
pub user_id: u32,
pub region_id: u64,
pub place_id: u64,
/// empty on SDGB
pub access_code: &'static str,
/// keychip without dash, 11 bytes
pub client_id: String,
/// Unix timestamp
pub date_time: u64,
#[serde(rename = "type")]
pub type_: i64,
}
#[derive(Default, Debug, Clone, PartialEq, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct UserLogoutApiResp {
pub result_code: i64,
}
impl Default for UserLogoutApi {
fn default() -> Self {
let user_id = 0;
let date_time = SystemTime::now()
.duration_since(UNIX_EPOCH)
.map(|t| t.as_secs())
.unwrap_or_default();
Self {
user_id,
date_time,
region_id: 22,
place_id: 3490,
client_id: "A63E01E9564".into(),
type_: 1,
access_code: "",
}
}
}