Skip to content

Commit

Permalink
fix: revert the change of cargo fix --edition which changing `if le…
Browse files Browse the repository at this point in the history
…t` to `match`
  • Loading branch information
ulic-youthlic committed Feb 7, 2025
1 parent 69bfb2e commit 1080df7
Show file tree
Hide file tree
Showing 3 changed files with 39 additions and 49 deletions.
11 changes: 4 additions & 7 deletions mania/src/core/business.rs
Original file line number Diff line number Diff line change
Expand Up @@ -205,13 +205,10 @@ impl BusinessHandle {
// PushMessageEvent, ... -> Lagrange.Core.Internal.Context.Logic.Implementation.MessagingLogic.Incoming
dispatch_logic(&mut *event, self.clone(), LogicFlow::InComing).await;
// TODO: timeout auto remove
match self.pending_requests.remove(&sequence) {
Some((_, tx)) => {
tx.send(event).unwrap();
}
_ => {
tracing::warn!("unhandled packet: {:?}", event);
}
if let Some((_, tx)) = self.pending_requests.remove(&sequence) {
tx.send(event).unwrap();
} else {
tracing::warn!("unhandled packet: {:?}", event);
}
Ok(())
}
Expand Down
55 changes: 27 additions & 28 deletions mania/src/core/operation/login.rs
Original file line number Diff line number Diff line change
Expand Up @@ -45,35 +45,34 @@ impl BusinessHandle {
}

async fn query_trans_tmp_status(self: &Arc<Self>) -> crate::Result<TransEmp12Res> {
match &*self.context.session.qr_sign.load() {
Some(qr_sign) => {
let request_body = NTLoginHttpRequest {
appid: self.context.app_info.app_id as u64,
qrsig: qr_sign.string.clone(),
face_update_time: 0,
};
let payload = serde_json::to_vec(&request_body).unwrap();
let response = http::client()
.post_binary_async(
"https://ntlogin.qq.com/qr/getFace",
&payload,
"application/json",
)
.await
.unwrap();
let info: NTLoginHttpResponse = serde_json::from_slice(&response).unwrap();
self.context.key_store.uin.store(info.uin.into());
let mut query_result = TransEmp::new_query_result();
let res = self.send_event(&mut query_result).await?;
let res: &TransEmp = downcast_event(&res).unwrap();
let result = res.result.as_ref().unwrap();
if let TransEmpResult::Emp12(emp12) = result {
Ok(emp12.to_owned())
} else {
panic!("Emp12 not found in response");
}
if let Some(qr_sign) = (*self.context.session.qr_sign.load()).clone() {
let request_body = NTLoginHttpRequest {
appid: self.context.app_info.app_id as u64,
qrsig: qr_sign.string.clone(),
face_update_time: 0,
};
let payload = serde_json::to_vec(&request_body).unwrap();
let response = http::client()
.post_binary_async(
"https://ntlogin.qq.com/qr/getFace",
&payload,
"application/json",
)
.await
.unwrap();
let info: NTLoginHttpResponse = serde_json::from_slice(&response).unwrap();
self.context.key_store.uin.store(info.uin.into());
let mut query_result = TransEmp::new_query_result();
let res = self.send_event(&mut query_result).await?;
let res: &TransEmp = downcast_event(&res).unwrap();
let result = res.result.as_ref().unwrap();
if let TransEmpResult::Emp12(emp12) = result {
Ok(emp12.to_owned())
} else {
panic!("Emp12 not found in response");
}
_ => Err(Error::GenericError("QR code not fetched".into())),
} else {
Err(Error::GenericError("QR code not fetched".into()))
}
}

Expand Down
22 changes: 8 additions & 14 deletions mania/src/core/packet.rs
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
use std::borrow::Cow;
use std::cmp::PartialEq;
use std::fmt::Debug;
use std::ops::Deref;
use std::sync::atomic::AtomicU32;

use byteorder::{BigEndian, ByteOrder, WriteBytesExt};
Expand Down Expand Up @@ -273,20 +274,13 @@ impl SsoPacket {
p.section(|p| p.string(&self.command)) // command
.section(|p| p) // unknown
.section(|p| {
p.bytes(&match ctx
.key_store
.uid
.load()
.as_ref()
.map(|arc| arc.to_string())
{
Some(ref uid) => {
let uid = NtPacketUid {
uid: Some(uid.clone()),
};
uid.encode_to_vec()
}
_ => Vec::new(),
p.bytes(&if let Some(uid) = ctx.key_store.uid.load().as_deref() {
let uid = NtPacketUid {
uid: Some(uid.clone()),
};
uid.encode_to_vec()
} else {
Vec::new()
})
}) // uid
})
Expand Down

0 comments on commit 1080df7

Please sign in to comment.