mirror of
https://git.ethanthesleepy.one/ethanaobrien/ew.git
synced 2025-05-13 11:37:33 -05:00
Add time progression along with server time set
This commit is contained in:
parent
d8508c2c47
commit
906606ae6c
3 changed files with 29 additions and 11 deletions
|
@ -80,22 +80,39 @@ pub fn timestamp_since_midnight() -> u64 {
|
||||||
rv
|
rv
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn init_time(server_data: &mut JsonValue, token: &str) {
|
||||||
|
let mut edited = false;
|
||||||
|
if server_data["server_time_set"].as_u64().is_none() {
|
||||||
|
server_data["server_time_set"] = timestamp().into();
|
||||||
|
edited = true;
|
||||||
|
}
|
||||||
|
if server_data["server_time"].as_u64().is_none() {
|
||||||
|
server_data["server_time"] = 1709272800.into();
|
||||||
|
edited = true;
|
||||||
|
}
|
||||||
|
if edited {
|
||||||
|
userdata::save_server_data(&token, server_data.clone());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
fn set_time(data: &mut JsonValue, req: HttpRequest) {
|
fn set_time(data: &mut JsonValue, req: HttpRequest) {
|
||||||
data["server_time"] = 1711741114.into();
|
|
||||||
let blank_header = HeaderValue::from_static("");
|
let blank_header = HeaderValue::from_static("");
|
||||||
let uid = req.headers().get("aoharu-user-id").unwrap_or(&blank_header).to_str().unwrap_or("").parse::<i64>().unwrap_or(0);
|
let uid = req.headers().get("aoharu-user-id").unwrap_or(&blank_header).to_str().unwrap_or("").parse::<i64>().unwrap_or(0);
|
||||||
if uid == 0 {
|
if uid == 0 {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
let server_data = userdata::get_server_data(&userdata::get_login_token(uid));
|
let token = userdata::get_login_token(uid);
|
||||||
|
let mut server_data = userdata::get_server_data(&token);
|
||||||
|
init_time(&mut server_data, &token);
|
||||||
|
|
||||||
if !server_data["server_time"].as_i64().is_none() {
|
let time_set = server_data["server_time_set"].as_u64().unwrap_or(timestamp());
|
||||||
if server_data["server_time"].as_i64().unwrap() == 0 {
|
let server_time = server_data["server_time"].as_u64().unwrap_or(0);//1711741114
|
||||||
data["server_time"] = timestamp().into();
|
if server_time == 0 {
|
||||||
return;
|
return;
|
||||||
}
|
|
||||||
data["server_time"] = server_data["server_time"].clone();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
let time_since_set = timestamp() - time_set;
|
||||||
|
data["server_time"] = (server_time + time_since_set).into();
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn send(mut data: JsonValue, req: HttpRequest) -> HttpResponse {
|
pub fn send(mut data: JsonValue, req: HttpRequest) -> HttpResponse {
|
||||||
|
|
|
@ -89,7 +89,7 @@ fn create_acc(uid: i64, login: &str) {
|
||||||
0,
|
0,
|
||||||
include_str!("new_user_event.json"),
|
include_str!("new_user_event.json"),
|
||||||
format!(r#"{{"last_rewarded": 0, "bonus_list": [], "start_time": {}}}"#, global::timestamp()),
|
format!(r#"{{"last_rewarded": 0, "bonus_list": [], "start_time": {}}}"#, global::timestamp()),
|
||||||
"{}"
|
format!(r#"{{"server_time_set":{},server_time:1709272800}}"#, global::timestamp())
|
||||||
));
|
));
|
||||||
|
|
||||||
DATABASE.lock_and_exec("DELETE FROM tokens WHERE token=?1", params!(login));
|
DATABASE.lock_and_exec("DELETE FROM tokens WHERE token=?1", params!(login));
|
||||||
|
@ -539,6 +539,7 @@ pub fn set_server_time(time: i64, token: &str) -> JsonValue {
|
||||||
}
|
}
|
||||||
let login_token = login_token.unwrap();
|
let login_token = login_token.unwrap();
|
||||||
let mut server_data = get_server_data(&login_token);
|
let mut server_data = get_server_data(&login_token);
|
||||||
|
server_data["server_time_set"] = global::timestamp().into();
|
||||||
server_data["server_time"] = time.into();
|
server_data["server_time"] = time.into();
|
||||||
save_server_data(&login_token, server_data);
|
save_server_data(&login_token, server_data);
|
||||||
|
|
||||||
|
|
|
@ -72,7 +72,7 @@ function Home() {
|
||||||
}
|
}
|
||||||
const handleSubmit = async (event) => {
|
const handleSubmit = async (event) => {
|
||||||
event.preventDefault();
|
event.preventDefault();
|
||||||
let time = Math.round((new Date(inputValue.trim()).getTime() + 70000) / 1000);
|
let time = Math.round(new Date(inputValue.trim()).getTime() / 1000);
|
||||||
if (inputValue.trim() === "-1") {
|
if (inputValue.trim() === "-1") {
|
||||||
time = 1711741114;
|
time = 1711741114;
|
||||||
} else if (inputValue.trim() === "0") {
|
} else if (inputValue.trim() === "0") {
|
||||||
|
@ -142,7 +142,7 @@ function Home() {
|
||||||
{ user }
|
{ user }
|
||||||
<h2>Server time</h2>
|
<h2>Server time</h2>
|
||||||
<div id="error"> { error[0] ? <p>Error: { error[0] } </p> : <p></p> } </div>
|
<div id="error"> { error[0] ? <p>Error: { error[0] } </p> : <p></p> } </div>
|
||||||
<p>Currently set to { serverTime }. Setting to 0 will set it to now, and -1 will reset it.</p>
|
<p>Currently set to { serverTime }. Setting to 0 will set it to now, and -1 will reset it. Time will still progress, based off of when you set this timestamp.</p>
|
||||||
<form onSubmit={handleSubmit}>
|
<form onSubmit={handleSubmit}>
|
||||||
<input
|
<input
|
||||||
type="text"
|
type="text"
|
||||||
|
|
Loading…
Add table
Reference in a new issue