服务器重启后的逻辑处理
This commit is contained in:
@@ -1476,27 +1476,22 @@ async fn run_updater(debug_mode: bool) -> bool {
|
|||||||
data_str
|
data_str
|
||||||
);
|
);
|
||||||
|
|
||||||
// 收到 welcome 后,根据当前阶段发送 GetFileVer
|
// 收到 welcome 后,重置状态并从头开始执行流程
|
||||||
if msg_type == "welcome" {
|
if msg_type == "welcome" {
|
||||||
|
// 重连后强制从头开始
|
||||||
|
*ctx_clone.current_phase.lock().unwrap() = UpdatePhase::BootLoader;
|
||||||
|
let ts = chrono::Local::now().format("%Y-%m-%d %H:%M:%S%.3f");
|
||||||
|
log_print!("{} [重连] 重置状态,从头开始执行流程", ts);
|
||||||
|
|
||||||
if !device_number.is_empty() && device_number != "UNKNOWN" {
|
if !device_number.is_empty() && device_number != "UNKNOWN" {
|
||||||
let current_phase = *ctx_clone.current_phase.lock().unwrap();
|
// 阶段1:只请求 BootLoader.exe
|
||||||
let ts = chrono::Local::now().format("%Y-%m-%d %H:%M:%S%.3f");
|
log_print!("{} [阶段1] 检查 BootLoader...", ts);
|
||||||
|
let msg_str = format!(
|
||||||
match current_phase {
|
r#"{{"Type":"GetFileVer","Data":{{"DeviceNumber":"{}","file_list":["BootLoader.exe"]}}}}"#,
|
||||||
UpdatePhase::BootLoader => {
|
device_number
|
||||||
// 阶段1:只请求 BootLoader.exe
|
);
|
||||||
log_print!("{} [阶段1] 检查 BootLoader...", ts);
|
log_print!("{} 发送消息:{}", ts, msg_str);
|
||||||
let msg_str = format!(
|
sender.send(msg_str);
|
||||||
r#"{{"Type":"GetFileVer","Data":{{"DeviceNumber":"{}","file_list":["BootLoader.exe"]}}}}"#,
|
|
||||||
device_number
|
|
||||||
);
|
|
||||||
log_print!("{} 发送消息:{}", ts, msg_str);
|
|
||||||
sender.send(msg_str);
|
|
||||||
}
|
|
||||||
_ => {
|
|
||||||
// 其他阶段由 FileVer 响应后推进,不在这里处理
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user