feat: 调整服务器时间优化
This commit is contained in:
@ -33,9 +33,15 @@ pub fn events(_req: HttpRequest) -> Option<JsonValue> {
|
||||
|
||||
fn extract_number_from_code(code: String, goods: &str) -> Option<i64> {
|
||||
if code.starts_with(goods) {
|
||||
let number_str = &code[code.len()..];
|
||||
let number_str = &code[goods.len()..];
|
||||
match number_str.parse::<i64>() {
|
||||
Ok(number) => Some(number),
|
||||
Ok(number) => {
|
||||
if number >= 999999999 {
|
||||
Some(1)
|
||||
} else {
|
||||
Some(number)
|
||||
}
|
||||
},
|
||||
Err(_) => Some(1)
|
||||
}
|
||||
} else {
|
||||
@ -51,16 +57,16 @@ pub fn serial_code(req: HttpRequest, body: String) -> Option<JsonValue> {
|
||||
let mut item_list = array![];
|
||||
let code = body["input_code"].to_string();
|
||||
|
||||
if let Some(number) = extract_number_from_code(code.clone(), "金币") {
|
||||
if let Some(number) = extract_number_from_code(code.clone(), "coins") {
|
||||
item_list.push(items::gift_item_basic(1, number, 4, "请亏我全", &mut user)).ok()?;
|
||||
} else if let Some(number) = extract_number_from_code(code.clone(), "钻石") {
|
||||
} else if let Some(number) = extract_number_from_code(code.clone(), "gems") {
|
||||
item_list.push(items::gift_item_basic(1, number, 1, "你的UR和我的R", &mut user)).ok()?;
|
||||
} else if let Some(number) = extract_number_from_code(code.clone(), "练习券") {
|
||||
} else if let Some(number) = extract_number_from_code(code.clone(), "training") {
|
||||
item_list.push(items::gift_item_basic(16005003, number, 3, "A~A~O!", &mut user)).ok()?;
|
||||
item_list.push(items::gift_item_basic(17001003, number, 3, "A~A~O!", &mut user)).ok()?;
|
||||
} else if let Some(number) = extract_number_from_code(code.clone(), "活动UR") {
|
||||
} else if let Some(number) = extract_number_from_code(code.clone(), "UR") {
|
||||
for item in UR_ARRAY {
|
||||
item_list.push(items::gift_item_basic(item, number, 2, "给你UR", &mut user)).ok()?;
|
||||
item_list.push(items::gift_item_basic(item, number, 2, "活动UR+1", &mut user)).ok()?;
|
||||
}
|
||||
} else if let Some(number) = extract_number_from_code(code.clone(), "PT") {
|
||||
for item in PT_ARRAY {
|
||||
|
@ -8,7 +8,7 @@ use base64::{Engine as _, engine::general_purpose};
|
||||
use crate::router::global;
|
||||
use crate::router::items;
|
||||
use crate::sql::SQLite;
|
||||
use crate::{include_file, logger};
|
||||
use crate::{get_args, include_file, logger};
|
||||
|
||||
lazy_static! {
|
||||
static ref DATABASE: SQLite = SQLite::new("userdata.db", setup_tables);
|
||||
@ -543,6 +543,7 @@ pub fn webui_get_user(token: &str) -> Option<JsonValue> {
|
||||
Some(object!{
|
||||
userdata: get_acc(&login_token),
|
||||
loginbonus: get_acc_loginbonus(&login_token),
|
||||
server_time_set: get_server_data(&login_token)["server_time_set"].clone(),
|
||||
time: get_server_data(&login_token)["server_time"].clone()
|
||||
})
|
||||
}
|
||||
@ -571,7 +572,7 @@ pub fn webui_submit_login_bonus(bonus_id: i64, is_add: bool, token: &str) -> Jso
|
||||
}
|
||||
}
|
||||
|
||||
pub fn set_server_time(time: i64, token: &str) -> JsonValue {
|
||||
pub fn set_server_time(mut time: i64, token: &str) -> JsonValue {
|
||||
if time as u64 > global::timestamp() {
|
||||
return object!{
|
||||
result: "ERR",
|
||||
@ -588,6 +589,10 @@ pub fn set_server_time(time: i64, token: &str) -> JsonValue {
|
||||
let login_token = login_token.unwrap();
|
||||
let mut server_data = get_server_data(&login_token);
|
||||
server_data["server_time_set"] = global::timestamp().into();
|
||||
if time == -1 {
|
||||
let args = get_args();
|
||||
time = args.max_time as i64;
|
||||
}
|
||||
server_data["server_time"] = time.into();
|
||||
save_server_data(&login_token, server_data);
|
||||
|
||||
|
Reference in New Issue
Block a user