API接收消息
接收消息服务器配置 URL https://pactgo.cn/wecom Token mytoken123456 EncodingAESKey PXP7FjoinIPc9WscGymDlf1VwMyBLh1cKJJSJFx2SO8 接收的消息事件类型 用户发送的普通消息,自定义菜单操作,上报地理位置 ,上报进入应用事件,审批状态通知事件,外部联系人变更回调,微信客服消息和事件,支付和退款通知,上下游变更回调,直播状态变更回调,会议室预定状态变更回调,成员申请高级功能状态通知
This commit is contained in:
149
WeCom/Cargo.lock
generated
149
WeCom/Cargo.lock
generated
@@ -2,6 +2,17 @@
|
||||
# It is not intended for manual editing.
|
||||
version = 4
|
||||
|
||||
[[package]]
|
||||
name = "aes"
|
||||
version = "0.8.4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "b169f7a6d4742236a0a00c541b845991d0ac43e546831af1249753ab4c3aa3a0"
|
||||
dependencies = [
|
||||
"cfg-if",
|
||||
"cipher",
|
||||
"cpufeatures",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "async-trait"
|
||||
version = "0.1.89"
|
||||
@@ -74,6 +85,12 @@ dependencies = [
|
||||
"tracing",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "base64"
|
||||
version = "0.21.7"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567"
|
||||
|
||||
[[package]]
|
||||
name = "bitflags"
|
||||
version = "2.11.0"
|
||||
@@ -81,10 +98,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "843867be96c8daad0d758b57df9392b6d8d271134fce549de6ce169ff98a92af"
|
||||
|
||||
[[package]]
|
||||
name = "block-buffer"
|
||||
version = "0.10.4"
|
||||
name = "block-padding"
|
||||
version = "0.3.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71"
|
||||
checksum = "a8894febbff9f758034a5b8e12d87918f56dfc64a8e1fe757d65e29041538d93"
|
||||
dependencies = [
|
||||
"generic-array",
|
||||
]
|
||||
@@ -101,6 +118,16 @@ version = "1.0.4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801"
|
||||
|
||||
[[package]]
|
||||
name = "cipher"
|
||||
version = "0.4.4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "773f3b9af64447d2ce9850330c473515014aa235e6a783b02db81ff39e4a3dad"
|
||||
dependencies = [
|
||||
"crypto-common",
|
||||
"inout",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "cpufeatures"
|
||||
version = "0.2.17"
|
||||
@@ -120,16 +147,6 @@ dependencies = [
|
||||
"typenum",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "digest"
|
||||
version = "0.10.7"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292"
|
||||
dependencies = [
|
||||
"block-buffer",
|
||||
"crypto-common",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "errno"
|
||||
version = "0.3.14"
|
||||
@@ -273,18 +290,22 @@ dependencies = [
|
||||
"tower-service",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "inout"
|
||||
version = "0.1.4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "879f10e63c20629ecabbb64a8010319738c66a5cd0c29b02d63d272b03751d01"
|
||||
dependencies = [
|
||||
"block-padding",
|
||||
"generic-array",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "itoa"
|
||||
version = "1.0.17"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "92ecc6618181def0457392ccd0ee51198e065e016d1d527a7ac1b6dc7c1f09d2"
|
||||
|
||||
[[package]]
|
||||
name = "lazy_static"
|
||||
version = "1.5.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe"
|
||||
|
||||
[[package]]
|
||||
name = "libc"
|
||||
version = "0.2.183"
|
||||
@@ -335,15 +356,6 @@ dependencies = [
|
||||
"windows-sys",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "nu-ansi-term"
|
||||
version = "0.50.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "7957b9740744892f114936ab4a57b3f487491bbeafaf8083688b16841a4240e5"
|
||||
dependencies = [
|
||||
"windows-sys",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "once_cell"
|
||||
version = "1.21.3"
|
||||
@@ -503,24 +515,10 @@ dependencies = [
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "sha1"
|
||||
version = "0.10.6"
|
||||
name = "sha1_smol"
|
||||
version = "1.0.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba"
|
||||
dependencies = [
|
||||
"cfg-if",
|
||||
"cpufeatures",
|
||||
"digest",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "sharded-slab"
|
||||
version = "0.1.7"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6"
|
||||
dependencies = [
|
||||
"lazy_static",
|
||||
]
|
||||
checksum = "bbfa15b3dddfee50a0fff136974b3e1bde555604ba463834a7eb7deb6417705d"
|
||||
|
||||
[[package]]
|
||||
name = "signal-hook-registry"
|
||||
@@ -571,15 +569,6 @@ version = "1.0.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "0bf256ce5efdfa370213c1dabab5935a12e49f2c58d15e9eac2870d3b4f27263"
|
||||
|
||||
[[package]]
|
||||
name = "thread_local"
|
||||
version = "1.1.9"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f60246a4944f24f6e018aa17cdeffb7818b76356965d03b07d6a9886e8962185"
|
||||
dependencies = [
|
||||
"cfg-if",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "tokio"
|
||||
version = "1.50.0"
|
||||
@@ -644,21 +633,9 @@ checksum = "63e71662fa4b2a2c3a26f570f037eb95bb1f85397f3cd8076caed2f026a6d100"
|
||||
dependencies = [
|
||||
"log",
|
||||
"pin-project-lite",
|
||||
"tracing-attributes",
|
||||
"tracing-core",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "tracing-attributes"
|
||||
version = "0.1.31"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "7490cfa5ec963746568740651ac6781f701c9c5ea257c58e057f3ba8cf69e8da"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "tracing-core"
|
||||
version = "0.1.36"
|
||||
@@ -666,32 +643,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "db97caf9d906fbde555dd62fa95ddba9eecfd14cb388e4f491a66d74cd5fb79a"
|
||||
dependencies = [
|
||||
"once_cell",
|
||||
"valuable",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "tracing-log"
|
||||
version = "0.2.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3"
|
||||
dependencies = [
|
||||
"log",
|
||||
"once_cell",
|
||||
"tracing-core",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "tracing-subscriber"
|
||||
version = "0.3.22"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "2f30143827ddab0d256fd843b7a66d164e9f271cfa0dde49142c5ca0ca291f1e"
|
||||
dependencies = [
|
||||
"nu-ansi-term",
|
||||
"sharded-slab",
|
||||
"smallvec",
|
||||
"thread_local",
|
||||
"tracing-core",
|
||||
"tracing-log",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -707,10 +658,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75"
|
||||
|
||||
[[package]]
|
||||
name = "valuable"
|
||||
version = "0.1.1"
|
||||
name = "urlencoding"
|
||||
version = "2.1.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "ba73ea9cf16a25df0c8caa16c51acb937d5712a8429db78a3ee29d5dcacd3a65"
|
||||
checksum = "daf8dba3b7eb870caf1ddeed7bc9d2a049f3cfdfae7cb521b087cc33ae4c49da"
|
||||
|
||||
[[package]]
|
||||
name = "version_check"
|
||||
@@ -728,12 +679,14 @@ checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b"
|
||||
name = "wecom_server"
|
||||
version = "0.1.0"
|
||||
dependencies = [
|
||||
"aes",
|
||||
"axum",
|
||||
"base64",
|
||||
"cipher",
|
||||
"serde",
|
||||
"sha1",
|
||||
"sha1_smol",
|
||||
"tokio",
|
||||
"tracing",
|
||||
"tracing-subscriber",
|
||||
"urlencoding",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
||||
@@ -5,8 +5,10 @@ edition = "2021"
|
||||
|
||||
[dependencies]
|
||||
axum = "0.7"
|
||||
sha1 = "0.10"
|
||||
serde = { version = "1.0", features = ["derive"] }
|
||||
tokio = { version = "1.0", features = ["full"] }
|
||||
tracing = "0.1"
|
||||
tracing-subscriber = "0.3"
|
||||
sha1_smol = "1.0"
|
||||
aes = "0.8"
|
||||
cipher = { version = "0.4", features = ["block-padding"] }
|
||||
base64 = "0.21"
|
||||
urlencoding = "2.1"
|
||||
|
||||
@@ -125,11 +125,26 @@ cargo clippy
|
||||
cargo test
|
||||
```
|
||||
|
||||
强制静态打包所有依赖
|
||||
```bash
|
||||
set RUSTFLAGS=-C target-feature=+crt-static && cargo build --release
|
||||
```
|
||||
|
||||
## 注意事项
|
||||
|
||||
- 确保 Token 与企业微信后台配置一致
|
||||
- 服务器需要能够被企业微信服务器访问(如需外网访问,请配置端口转发或使用公网 IP)
|
||||
- 生产环境建议使用环境变量管理敏感配置
|
||||
- 企业微信的加解密分两个完全不同的场景:
|
||||
- **场景 1:【消息加解密】(业务消息)**
|
||||
- 格式:URL_SAFE Base64
|
||||
- 字符:- / _
|
||||
- 使用 URL_SAFE 解码
|
||||
- **场景 2:【URL 验证】(echostr 验证)**
|
||||
- 格式:标准 Base64
|
||||
- 字符:+ / =
|
||||
- 必须使用 STANDARD 解码
|
||||
|
||||
|
||||
## 许可证
|
||||
|
||||
|
||||
@@ -1,51 +1,156 @@
|
||||
use axum::{
|
||||
extract::Query,
|
||||
routing::get,
|
||||
Router,
|
||||
};
|
||||
use aes::Aes256;
|
||||
use aes::cipher::{BlockDecrypt, KeyInit};
|
||||
use aes::cipher::generic_array::GenericArray;
|
||||
use base64::{engine::general_purpose::{STANDARD, URL_SAFE}, Engine};
|
||||
use urlencoding;
|
||||
use axum::{extract::Query, routing::get, Router};
|
||||
use serde::Deserialize;
|
||||
use sha1::{Digest, Sha1};
|
||||
use sha1_smol::Sha1;
|
||||
|
||||
#[derive(Deserialize)]
|
||||
#[derive(Debug, Deserialize)]
|
||||
pub struct WecomVerify {
|
||||
pub msg_signature: String,
|
||||
pub timestamp: String,
|
||||
pub nonce: String,
|
||||
pub echostr: String,
|
||||
msg_signature: String,
|
||||
timestamp: String,
|
||||
nonce: String,
|
||||
echostr: String,
|
||||
}
|
||||
|
||||
const WECOM_TOKEN: &str = "mytoken123456";
|
||||
const CORP_ID: &str = "wwa7bb7aec981103b4";
|
||||
const ENCODING_AES_KEY: &str = "PXP7FjoinIPc9WscGymDlf1VwMyBLh1cKJJSJFx2SO8";
|
||||
|
||||
#[tokio::main]
|
||||
async fn main() {
|
||||
let app = Router::new()
|
||||
.route("/wecom", get(wecom_verify));
|
||||
|
||||
println!("服务器启动:127.0.0.1:8000");
|
||||
axum::serve(
|
||||
tokio::net::TcpListener::bind("127.0.0.1:8000").await.unwrap(),
|
||||
app,
|
||||
)
|
||||
.await
|
||||
.unwrap();
|
||||
fn url_decode(s: &str) -> String {
|
||||
match urlencoding::decode(s) {
|
||||
Ok(decoded) => decoded.into_owned(),
|
||||
Err(_) => s.to_string(),
|
||||
}
|
||||
}
|
||||
|
||||
async fn wecom_verify(Query(query): Query<WecomVerify>) -> String {
|
||||
let mut arr = [
|
||||
WECOM_TOKEN,
|
||||
&query.timestamp,
|
||||
&query.nonce,
|
||||
&query.echostr,
|
||||
];
|
||||
fn decrypt_aes_cbc(key: &[u8; 32], iv: &[u8; 16], ciphertext: &[u8]) -> Vec<u8> {
|
||||
let cipher = Aes256::new(key.into());
|
||||
let mut plaintext = Vec::with_capacity(ciphertext.len());
|
||||
let mut prev_iv = *iv;
|
||||
|
||||
for block in ciphertext.chunks_exact(16) {
|
||||
let mut block_arr = GenericArray::clone_from_slice(block);
|
||||
cipher.decrypt_block(&mut block_arr);
|
||||
|
||||
// CBC 解密:异或 IV/前一个密文块
|
||||
for i in 0..16 {
|
||||
block_arr[i] ^= prev_iv[i];
|
||||
}
|
||||
|
||||
plaintext.extend_from_slice(&block_arr);
|
||||
prev_iv.copy_from_slice(block);
|
||||
}
|
||||
|
||||
// 企业微信 echostr 特殊处理:强制去除 PKCS7 填充
|
||||
// 因为 echostr 是随机串,解密后填充可能无效,但仍需去除
|
||||
let len = plaintext.len();
|
||||
if len == 0 { return plaintext; }
|
||||
|
||||
let pad = plaintext[len - 1] as usize;
|
||||
if pad >= 1 && pad <= 16 && len >= pad {
|
||||
// 强制去除填充,不验证有效性
|
||||
plaintext.truncate(len - pad);
|
||||
}
|
||||
|
||||
plaintext
|
||||
}
|
||||
|
||||
fn decrypt_echo_str(encrypted: &str) -> Result<String, String> {
|
||||
// 企业微信官方要求:EncodingAESKey 需要在末尾添加 "=" 再解码
|
||||
let key = URL_SAFE.decode(format!("{}=", ENCODING_AES_KEY)).map_err(|e| e.to_string())?;
|
||||
// 企业微信 URL 验证(echostr)使用标准 Base64 解码
|
||||
let ciphertext = STANDARD.decode(encrypted).map_err(|e| e.to_string())?;
|
||||
|
||||
if key.len() != 32 {
|
||||
return Err(format!("Invalid key length: {}", key.len()));
|
||||
}
|
||||
|
||||
let mut key_array = [0u8; 32];
|
||||
key_array.copy_from_slice(&key);
|
||||
|
||||
let iv = &key_array[0..16];
|
||||
let mut iv_array = [0u8; 16];
|
||||
iv_array.copy_from_slice(iv);
|
||||
|
||||
let plaintext = decrypt_aes_cbc(&key_array, &iv_array, &ciphertext);
|
||||
|
||||
// 企业微信官方格式:16字节随机串 + 4字节长度(网络序) + 消息内容 + CorpID
|
||||
if plaintext.len() < 20 {
|
||||
return Err("Decrypted data too short".into());
|
||||
}
|
||||
|
||||
// 解析 4 字节长度(网络序,大端)
|
||||
let msg_len = u32::from_be_bytes([plaintext[16], plaintext[17], plaintext[18], plaintext[19]]);
|
||||
let msg_start = 20;
|
||||
let msg_end = msg_start + msg_len as usize;
|
||||
|
||||
if msg_end > plaintext.len() {
|
||||
return Err("Invalid message length".into());
|
||||
}
|
||||
|
||||
// 截取正确的消息内容
|
||||
let msg = &plaintext[msg_start..msg_end];
|
||||
let result = String::from_utf8_lossy(msg).to_string();
|
||||
|
||||
eprintln!("✅ 最终解密结果: {}", result);
|
||||
Ok(result)
|
||||
}
|
||||
|
||||
fn verify_signature(msg_signature: &str, timestamp: &str, nonce: &str, echostr: &str) -> bool {
|
||||
let mut arr = vec![WECOM_TOKEN, timestamp, nonce, echostr];
|
||||
arr.sort();
|
||||
|
||||
let mut hasher = Sha1::new();
|
||||
hasher.update(arr.join("").as_bytes());
|
||||
let sig = format!("{:x}", hasher.finalize());
|
||||
let signature = hasher.digest().to_string();
|
||||
|
||||
if sig == query.msg_signature {
|
||||
query.echostr
|
||||
} else {
|
||||
"invalid".into()
|
||||
signature == msg_signature
|
||||
}
|
||||
|
||||
#[tokio::main]
|
||||
async fn main() {
|
||||
let app = Router::new()
|
||||
.route("/wecom", get(verify));
|
||||
|
||||
println!("✅ 服务已启动:127.0.0.1:8000");
|
||||
println!("Token: {}", WECOM_TOKEN);
|
||||
println!("CorpID: {}", CORP_ID);
|
||||
|
||||
axum::serve(
|
||||
tokio::net::TcpListener::bind("127.0.0.1:8000").await.unwrap(),
|
||||
app
|
||||
).await.unwrap();
|
||||
}
|
||||
|
||||
async fn verify(Query(q): Query<WecomVerify>) -> String {
|
||||
let timestamp = url_decode(&q.timestamp);
|
||||
let nonce = url_decode(&q.nonce);
|
||||
let echostr = url_decode(&q.echostr);
|
||||
|
||||
eprintln!("=== 收到企业微信验证请求 ===");
|
||||
eprintln!("msg_signature: {}", q.msg_signature);
|
||||
eprintln!("timestamp: {}", timestamp);
|
||||
eprintln!("nonce: {}", nonce);
|
||||
eprintln!("echostr: {}", echostr);
|
||||
|
||||
if !verify_signature(&q.msg_signature, ×tamp, &nonce, &echostr) {
|
||||
eprintln!("签名验证失败");
|
||||
return "invalid signature".to_string();
|
||||
}
|
||||
|
||||
eprintln!("签名验证成功");
|
||||
|
||||
match decrypt_echo_str(&echostr) {
|
||||
Ok(msg) => {
|
||||
eprintln!("解密成功,msg: {}", msg);
|
||||
msg
|
||||
},
|
||||
Err(e) => {
|
||||
eprintln!("解密失败: {}", e);
|
||||
"decrypt error".to_string()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1 +1 @@
|
||||
{"rustc_fingerprint":760658810963359153,"outputs":{"17747080675513052775":{"success":true,"status":"","code":0,"stdout":"rustc 1.92.0 (ded5c06cf 2025-12-08)\nbinary: rustc\ncommit-hash: ded5c06cf21d2b93bffd5d884aa6e96934ee4234\ncommit-date: 2025-12-08\nhost: x86_64-pc-windows-msvc\nrelease: 1.92.0\nLLVM version: 21.1.3\n","stderr":""},"7971740275564407648":{"success":true,"status":"","code":0,"stdout":"___.exe\nlib___.rlib\n___.dll\n___.dll\n___.lib\n___.dll\nC:\\Users\\xyzqm\\.rustup\\toolchains\\stable-x86_64-pc-windows-msvc\npacked\n___\ndebug_assertions\npanic=\"unwind\"\nproc_macro\ntarget_abi=\"\"\ntarget_arch=\"x86_64\"\ntarget_endian=\"little\"\ntarget_env=\"msvc\"\ntarget_family=\"windows\"\ntarget_feature=\"cmpxchg16b\"\ntarget_feature=\"fxsr\"\ntarget_feature=\"sse\"\ntarget_feature=\"sse2\"\ntarget_feature=\"sse3\"\ntarget_has_atomic=\"128\"\ntarget_has_atomic=\"16\"\ntarget_has_atomic=\"32\"\ntarget_has_atomic=\"64\"\ntarget_has_atomic=\"8\"\ntarget_has_atomic=\"ptr\"\ntarget_os=\"windows\"\ntarget_pointer_width=\"64\"\ntarget_vendor=\"pc\"\nwindows\n","stderr":""}},"successes":{}}
|
||||
{"rustc_fingerprint":760658810963359153,"outputs":{"8372365128484698959":{"success":true,"status":"","code":0,"stdout":"___.exe\nlib___.rlib\n___.dll\n___.dll\n___.lib\n___.dll\nC:\\Users\\xyzqm\\.rustup\\toolchains\\stable-x86_64-pc-windows-msvc\npacked\n___\ndebug_assertions\npanic=\"unwind\"\nproc_macro\ntarget_abi=\"\"\ntarget_arch=\"x86_64\"\ntarget_endian=\"little\"\ntarget_env=\"msvc\"\ntarget_family=\"windows\"\ntarget_feature=\"cmpxchg16b\"\ntarget_feature=\"crt-static\"\ntarget_feature=\"fxsr\"\ntarget_feature=\"sse\"\ntarget_feature=\"sse2\"\ntarget_feature=\"sse3\"\ntarget_has_atomic=\"128\"\ntarget_has_atomic=\"16\"\ntarget_has_atomic=\"32\"\ntarget_has_atomic=\"64\"\ntarget_has_atomic=\"8\"\ntarget_has_atomic=\"ptr\"\ntarget_os=\"windows\"\ntarget_pointer_width=\"64\"\ntarget_vendor=\"pc\"\nwindows\n","stderr":""},"7971740275564407648":{"success":true,"status":"","code":0,"stdout":"___.exe\nlib___.rlib\n___.dll\n___.dll\n___.lib\n___.dll\nC:\\Users\\xyzqm\\.rustup\\toolchains\\stable-x86_64-pc-windows-msvc\npacked\n___\ndebug_assertions\npanic=\"unwind\"\nproc_macro\ntarget_abi=\"\"\ntarget_arch=\"x86_64\"\ntarget_endian=\"little\"\ntarget_env=\"msvc\"\ntarget_family=\"windows\"\ntarget_feature=\"cmpxchg16b\"\ntarget_feature=\"fxsr\"\ntarget_feature=\"sse\"\ntarget_feature=\"sse2\"\ntarget_feature=\"sse3\"\ntarget_has_atomic=\"128\"\ntarget_has_atomic=\"16\"\ntarget_has_atomic=\"32\"\ntarget_has_atomic=\"64\"\ntarget_has_atomic=\"8\"\ntarget_has_atomic=\"ptr\"\ntarget_os=\"windows\"\ntarget_pointer_width=\"64\"\ntarget_vendor=\"pc\"\nwindows\n","stderr":""},"17747080675513052775":{"success":true,"status":"","code":0,"stdout":"rustc 1.92.0 (ded5c06cf 2025-12-08)\nbinary: rustc\ncommit-hash: ded5c06cf21d2b93bffd5d884aa6e96934ee4234\ncommit-date: 2025-12-08\nhost: x86_64-pc-windows-msvc\nrelease: 1.92.0\nLLVM version: 21.1.3\n","stderr":""}},"successes":{}}
|
||||
0
WeCom/target/release/.cargo-lock
Normal file
0
WeCom/target/release/.cargo-lock
Normal file
Binary file not shown.
@@ -0,0 +1 @@
|
||||
This file has an mtime of when this was started.
|
||||
@@ -0,0 +1 @@
|
||||
8df0c5338ecd41aa
|
||||
@@ -0,0 +1 @@
|
||||
{"rustc":7895727629726570510,"features":"[]","declared_features":"[\"hazmat\", \"zeroize\"]","target":1651443328692853038,"profile":2040997289075261528,"path":1575852859576232120,"deps":[[7667230146095136825,"cfg_if",false,675466075435228593],[7916416211798676886,"cipher",false,13563993882827827384],[17620084158052398167,"cpufeatures",false,3631185820562172063]],"local":[{"CheckDepInfo":{"dep_info":"release\\.fingerprint\\aes-33276d5f1f766099\\dep-lib-aes","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0}
|
||||
Binary file not shown.
@@ -0,0 +1 @@
|
||||
This file has an mtime of when this was started.
|
||||
@@ -0,0 +1 @@
|
||||
8ca40eda5ca8be37
|
||||
@@ -0,0 +1 @@
|
||||
{"rustc":7895727629726570510,"features":"[]","declared_features":"[\"hazmat\", \"zeroize\"]","target":1651443328692853038,"profile":2040997289075261528,"path":1575852859576232120,"deps":[[7667230146095136825,"cfg_if",false,15919481394469768881],[7916416211798676886,"cipher",false,4968673437924245379],[17620084158052398167,"cpufeatures",false,6485973733564039342]],"local":[{"CheckDepInfo":{"dep_info":"release\\.fingerprint\\aes-8880c3e0479ad773\\dep-lib-aes","checksum":false}}],"rustflags":["-C","target-feature=+crt-static"],"config":2069994364910194474,"compile_kind":0}
|
||||
Binary file not shown.
@@ -0,0 +1 @@
|
||||
This file has an mtime of when this was started.
|
||||
@@ -0,0 +1 @@
|
||||
64f00dd8499497ed
|
||||
@@ -0,0 +1 @@
|
||||
{"rustc":7895727629726570510,"features":"[]","declared_features":"[\"hazmat\", \"zeroize\"]","target":1651443328692853038,"profile":2040997289075261528,"path":1575852859576232120,"deps":[[7667230146095136825,"cfg_if",false,15919481394469768881],[7916416211798676886,"cipher",false,1958432403811195181],[17620084158052398167,"cpufeatures",false,6485973733564039342]],"local":[{"CheckDepInfo":{"dep_info":"release\\.fingerprint\\aes-8e058104d40bc9e4\\dep-lib-aes","checksum":false}}],"rustflags":["-C","target-feature=+crt-static"],"config":2069994364910194474,"compile_kind":0}
|
||||
Binary file not shown.
@@ -0,0 +1 @@
|
||||
This file has an mtime of when this was started.
|
||||
@@ -0,0 +1 @@
|
||||
9db0f62a8e5115f4
|
||||
@@ -0,0 +1 @@
|
||||
{"rustc":7895727629726570510,"features":"[]","declared_features":"[]","target":5116616278641129243,"profile":1369601567987815722,"path":9742610880921454998,"deps":[[4289358735036141001,"proc_macro2",false,1925090391498654920],[10420560437213941093,"syn",false,13846182908144147794],[13111758008314797071,"quote",false,15587361629401706617]],"local":[{"CheckDepInfo":{"dep_info":"release\\.fingerprint\\async-trait-52ef5a5265ad174e\\dep-lib-async_trait","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0}
|
||||
Binary file not shown.
@@ -0,0 +1 @@
|
||||
This file has an mtime of when this was started.
|
||||
@@ -0,0 +1 @@
|
||||
46ab73c915905462
|
||||
@@ -0,0 +1 @@
|
||||
{"rustc":7895727629726570510,"features":"[]","declared_features":"[]","target":5116616278641129243,"profile":1369601567987815722,"path":9742610880921454998,"deps":[[4289358735036141001,"proc_macro2",false,5221246448461484019],[10420560437213941093,"syn",false,7875626885930974036],[13111758008314797071,"quote",false,2467027007051264215]],"local":[{"CheckDepInfo":{"dep_info":"release\\.fingerprint\\async-trait-880ec447ad35473e\\dep-lib-async_trait","checksum":false}}],"rustflags":["-C","target-feature=+crt-static"],"config":2069994364910194474,"compile_kind":0}
|
||||
Binary file not shown.
@@ -0,0 +1 @@
|
||||
This file has an mtime of when this was started.
|
||||
@@ -0,0 +1 @@
|
||||
90b167bd98b4d076
|
||||
@@ -0,0 +1 @@
|
||||
{"rustc":7895727629726570510,"features":"[]","declared_features":"[]","target":5116616278641129243,"profile":1369601567987815722,"path":9742610880921454998,"deps":[[4289358735036141001,"proc_macro2",false,1925090391498654920],[10420560437213941093,"syn",false,16628267748954782224],[13111758008314797071,"quote",false,15587361629401706617]],"local":[{"CheckDepInfo":{"dep_info":"release\\.fingerprint\\async-trait-9da4b75b64eb1e65\\dep-lib-async_trait","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0}
|
||||
Binary file not shown.
@@ -0,0 +1 @@
|
||||
This file has an mtime of when this was started.
|
||||
@@ -0,0 +1 @@
|
||||
4a3e20c552fc5b53
|
||||
@@ -0,0 +1 @@
|
||||
{"rustc":7895727629726570510,"features":"[]","declared_features":"[]","target":5116616278641129243,"profile":1369601567987815722,"path":9742610880921454998,"deps":[[4289358735036141001,"proc_macro2",false,5221246448461484019],[10420560437213941093,"syn",false,9090320511665553309],[13111758008314797071,"quote",false,2467027007051264215]],"local":[{"CheckDepInfo":{"dep_info":"release\\.fingerprint\\async-trait-c4c9b7440e0f5217\\dep-lib-async_trait","checksum":false}}],"rustflags":["-C","target-feature=+crt-static"],"config":2069994364910194474,"compile_kind":0}
|
||||
Binary file not shown.
@@ -0,0 +1 @@
|
||||
This file has an mtime of when this was started.
|
||||
@@ -0,0 +1 @@
|
||||
5f676a4925f0d2e7
|
||||
@@ -0,0 +1 @@
|
||||
{"rustc":7895727629726570510,"features":"[]","declared_features":"[\"portable-atomic\"]","target":14411119108718288063,"profile":2040997289075261528,"path":6016285035980575363,"deps":[],"local":[{"CheckDepInfo":{"dep_info":"release\\.fingerprint\\atomic-waker-db5332e4e3928b6d\\dep-lib-atomic_waker","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0}
|
||||
Binary file not shown.
@@ -0,0 +1 @@
|
||||
This file has an mtime of when this was started.
|
||||
@@ -0,0 +1 @@
|
||||
76994669799c2424
|
||||
@@ -0,0 +1 @@
|
||||
{"rustc":7895727629726570510,"features":"[]","declared_features":"[\"portable-atomic\"]","target":14411119108718288063,"profile":2040997289075261528,"path":6016285035980575363,"deps":[],"local":[{"CheckDepInfo":{"dep_info":"release\\.fingerprint\\atomic-waker-f3cdbc9bf19db7d5\\dep-lib-atomic_waker","checksum":false}}],"rustflags":["-C","target-feature=+crt-static"],"config":2069994364910194474,"compile_kind":0}
|
||||
Binary file not shown.
@@ -0,0 +1 @@
|
||||
This file has an mtime of when this was started.
|
||||
@@ -0,0 +1 @@
|
||||
1440582403999579
|
||||
@@ -0,0 +1 @@
|
||||
{"rustc":7895727629726570510,"features":"[\"default\", \"form\", \"http1\", \"json\", \"matched-path\", \"original-uri\", \"query\", \"tokio\", \"tower-log\", \"tracing\"]","declared_features":"[\"__private_docs\", \"default\", \"form\", \"http1\", \"http2\", \"json\", \"macros\", \"matched-path\", \"multipart\", \"original-uri\", \"query\", \"tokio\", \"tower-log\", \"tracing\", \"ws\"]","target":13920321295547257648,"profile":2040997289075261528,"path":11389595210256211551,"deps":[[784494742817713399,"tower_service",false,135899915985566070],[1363051979936526615,"memchr",false,337932476993689437],[2251399859588827949,"pin_project_lite",false,9561187763023378512],[2517136641825875337,"sync_wrapper",false,10213048048098206802],[2620434475832828286,"http",false,16971476658486691746],[3632162862999675140,"tower",false,15124884540528438369],[3870702314125662939,"bytes",false,9281141381531421152],[4160778395972110362,"hyper",false,16797394751288439276],[4359148418957042248,"axum_core",false,6870451695902969843],[5898568623609459682,"futures_util",false,5300610372176351355],[6803352382179706244,"percent_encoding",false,17320557196694915687],[7712452662827335977,"tower_layer",false,9458085606296917513],[9678799920983747518,"matchit",false,1759696801250884347],[9938278000850417404,"itoa",false,15344644311713399867],[10229185211513642314,"mime",false,16495300544450987670],[11976082518617474977,"hyper_util",false,16621872742659830857],[13298363700532491723,"tokio",false,13180676356499783100],[13548984313718623784,"serde",false,836808263582196191],[13795362694956882968,"serde_json",false,3577090850378898582],[14084095096285906100,"http_body",false,15360999626648950616],[14156967978702956262,"rustversion",false,8367286648407254598],[14757622794040968908,"tracing",false,17260965064259812458],[14814583949208169760,"serde_path_to_error",false,898362988836352019],[16542808166767769916,"serde_urlencoded",false,2834117689606090464],[16611674984963787466,"async_trait",false,7085446537009146694],[16900715236047033623,"http_body_util",false,14044524373634550709]],"local":[{"CheckDepInfo":{"dep_info":"release\\.fingerprint\\axum-248561cc4074950e\\dep-lib-axum","checksum":false}}],"rustflags":["-C","target-feature=+crt-static"],"config":2069994364910194474,"compile_kind":0}
|
||||
Binary file not shown.
@@ -0,0 +1 @@
|
||||
This file has an mtime of when this was started.
|
||||
@@ -0,0 +1 @@
|
||||
bf388ee12de864b9
|
||||
@@ -0,0 +1 @@
|
||||
{"rustc":7895727629726570510,"features":"[\"default\", \"form\", \"http1\", \"json\", \"matched-path\", \"original-uri\", \"query\", \"tokio\", \"tower-log\", \"tracing\"]","declared_features":"[\"__private_docs\", \"default\", \"form\", \"http1\", \"http2\", \"json\", \"macros\", \"matched-path\", \"multipart\", \"original-uri\", \"query\", \"tokio\", \"tower-log\", \"tracing\", \"ws\"]","target":13920321295547257648,"profile":2040997289075261528,"path":11389595210256211551,"deps":[[784494742817713399,"tower_service",false,12752298594651456376],[1363051979936526615,"memchr",false,10855102370283805981],[2251399859588827949,"pin_project_lite",false,7149017922757342239],[2517136641825875337,"sync_wrapper",false,16684852743331818814],[2620434475832828286,"http",false,17053968891482141415],[3632162862999675140,"tower",false,16443910953149725285],[3870702314125662939,"bytes",false,15983965328910669902],[4160778395972110362,"hyper",false,12846789303185619225],[4359148418957042248,"axum_core",false,14621221668413952058],[5898568623609459682,"futures_util",false,740432801063249213],[6803352382179706244,"percent_encoding",false,5471187824467126674],[7712452662827335977,"tower_layer",false,6963401584419349286],[9678799920983747518,"matchit",false,6041300547741572585],[9938278000850417404,"itoa",false,11271476100714528265],[10229185211513642314,"mime",false,5746585919335751095],[11976082518617474977,"hyper_util",false,9894935419623894905],[13298363700532491723,"tokio",false,10692818240368540176],[13548984313718623784,"serde",false,18239372411035460248],[13795362694956882968,"serde_json",false,4269254718221498525],[14084095096285906100,"http_body",false,13779570902680021432],[14156967978702956262,"rustversion",false,307202636156149238],[14757622794040968908,"tracing",false,3342419282142782267],[14814583949208169760,"serde_path_to_error",false,14748735964541593397],[16542808166767769916,"serde_urlencoded",false,2762575704373614854],[16611674984963787466,"async_trait",false,8561541459737031056],[16900715236047033623,"http_body_util",false,15028036742761079282]],"local":[{"CheckDepInfo":{"dep_info":"release\\.fingerprint\\axum-948caf4624361315\\dep-lib-axum","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0}
|
||||
Binary file not shown.
@@ -0,0 +1 @@
|
||||
This file has an mtime of when this was started.
|
||||
@@ -0,0 +1 @@
|
||||
49103ef77eac70c2
|
||||
@@ -0,0 +1 @@
|
||||
{"rustc":7895727629726570510,"features":"[\"default\", \"form\", \"http1\", \"json\", \"matched-path\", \"original-uri\", \"query\", \"tokio\", \"tower-log\", \"tracing\"]","declared_features":"[\"__private_docs\", \"default\", \"form\", \"http1\", \"http2\", \"json\", \"macros\", \"matched-path\", \"multipart\", \"original-uri\", \"query\", \"tokio\", \"tower-log\", \"tracing\", \"ws\"]","target":13920321295547257648,"profile":2040997289075261528,"path":11389595210256211551,"deps":[[784494742817713399,"tower_service",false,135899915985566070],[1363051979936526615,"memchr",false,337932476993689437],[2251399859588827949,"pin_project_lite",false,9561187763023378512],[2517136641825875337,"sync_wrapper",false,10213048048098206802],[2620434475832828286,"http",false,16971476658486691746],[3632162862999675140,"tower",false,4494744303474974776],[3870702314125662939,"bytes",false,9281141381531421152],[4160778395972110362,"hyper",false,13320304734038045905],[4359148418957042248,"axum_core",false,1814693762699429298],[5898568623609459682,"futures_util",false,5300610372176351355],[6803352382179706244,"percent_encoding",false,17320557196694915687],[7712452662827335977,"tower_layer",false,9458085606296917513],[9678799920983747518,"matchit",false,1759696801250884347],[9938278000850417404,"itoa",false,15344644311713399867],[10229185211513642314,"mime",false,16495300544450987670],[11976082518617474977,"hyper_util",false,13280064862264645717],[13298363700532491723,"tokio",false,12701129889050801971],[13548984313718623784,"serde",false,8148507858313321045],[13795362694956882968,"serde_json",false,3577090850378898582],[14084095096285906100,"http_body",false,15360999626648950616],[14156967978702956262,"rustversion",false,8367286648407254598],[14757622794040968908,"tracing",false,14674840070505019280],[14814583949208169760,"serde_path_to_error",false,898362988836352019],[16542808166767769916,"serde_urlencoded",false,143937873486675008],[16611674984963787466,"async_trait",false,6006671960453430858],[16900715236047033623,"http_body_util",false,14044524373634550709]],"local":[{"CheckDepInfo":{"dep_info":"release\\.fingerprint\\axum-a539ea3beca1f63d\\dep-lib-axum","checksum":false}}],"rustflags":["-C","target-feature=+crt-static"],"config":2069994364910194474,"compile_kind":0}
|
||||
Binary file not shown.
@@ -0,0 +1 @@
|
||||
This file has an mtime of when this was started.
|
||||
@@ -0,0 +1 @@
|
||||
b205d1cd5c162f19
|
||||
@@ -0,0 +1 @@
|
||||
{"rustc":7895727629726570510,"features":"[\"tracing\"]","declared_features":"[\"__private_docs\", \"tracing\"]","target":2565713999752801252,"profile":2040997289075261528,"path":6823471965871069668,"deps":[[784494742817713399,"tower_service",false,135899915985566070],[2251399859588827949,"pin_project_lite",false,9561187763023378512],[2517136641825875337,"sync_wrapper",false,10213048048098206802],[2620434475832828286,"http",false,16971476658486691746],[3870702314125662939,"bytes",false,9281141381531421152],[5898568623609459682,"futures_util",false,5300610372176351355],[7712452662827335977,"tower_layer",false,9458085606296917513],[10229185211513642314,"mime",false,16495300544450987670],[14084095096285906100,"http_body",false,15360999626648950616],[14156967978702956262,"rustversion",false,8367286648407254598],[14757622794040968908,"tracing",false,14674840070505019280],[16611674984963787466,"async_trait",false,6006671960453430858],[16900715236047033623,"http_body_util",false,14044524373634550709]],"local":[{"CheckDepInfo":{"dep_info":"release\\.fingerprint\\axum-core-497b35ca5a1260e2\\dep-lib-axum_core","checksum":false}}],"rustflags":["-C","target-feature=+crt-static"],"config":2069994364910194474,"compile_kind":0}
|
||||
Binary file not shown.
@@ -0,0 +1 @@
|
||||
This file has an mtime of when this was started.
|
||||
@@ -0,0 +1 @@
|
||||
4f2502a65c1091e7
|
||||
@@ -0,0 +1 @@
|
||||
{"rustc":7895727629726570510,"features":"[\"tracing\"]","declared_features":"[\"__private_docs\", \"tracing\"]","target":2565713999752801252,"profile":2040997289075261528,"path":6823471965871069668,"deps":[[784494742817713399,"tower_service",false,12752298594651456376],[2251399859588827949,"pin_project_lite",false,7149017922757342239],[2517136641825875337,"sync_wrapper",false,16684852743331818814],[2620434475832828286,"http",false,17053968891482141415],[3870702314125662939,"bytes",false,15983965328910669902],[5898568623609459682,"futures_util",false,740432801063249213],[7712452662827335977,"tower_layer",false,6963401584419349286],[10229185211513642314,"mime",false,5746585919335751095],[14084095096285906100,"http_body",false,13779570902680021432],[14156967978702956262,"rustversion",false,307202636156149238],[14757622794040968908,"tracing",false,18110149064537120222],[16611674984963787466,"async_trait",false,17588053590813356189],[16900715236047033623,"http_body_util",false,15028036742761079282]],"local":[{"CheckDepInfo":{"dep_info":"release\\.fingerprint\\axum-core-725aaed1dd9176f1\\dep-lib-axum_core","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0}
|
||||
Binary file not shown.
@@ -0,0 +1 @@
|
||||
This file has an mtime of when this was started.
|
||||
@@ -0,0 +1 @@
|
||||
f3cfc68c6abf585f
|
||||
@@ -0,0 +1 @@
|
||||
{"rustc":7895727629726570510,"features":"[\"tracing\"]","declared_features":"[\"__private_docs\", \"tracing\"]","target":2565713999752801252,"profile":2040997289075261528,"path":6823471965871069668,"deps":[[784494742817713399,"tower_service",false,135899915985566070],[2251399859588827949,"pin_project_lite",false,9561187763023378512],[2517136641825875337,"sync_wrapper",false,10213048048098206802],[2620434475832828286,"http",false,16971476658486691746],[3870702314125662939,"bytes",false,9281141381531421152],[5898568623609459682,"futures_util",false,5300610372176351355],[7712452662827335977,"tower_layer",false,9458085606296917513],[10229185211513642314,"mime",false,16495300544450987670],[14084095096285906100,"http_body",false,15360999626648950616],[14156967978702956262,"rustversion",false,8367286648407254598],[14757622794040968908,"tracing",false,17260965064259812458],[16611674984963787466,"async_trait",false,7085446537009146694],[16900715236047033623,"http_body_util",false,14044524373634550709]],"local":[{"CheckDepInfo":{"dep_info":"release\\.fingerprint\\axum-core-a528513d168a6ebe\\dep-lib-axum_core","checksum":false}}],"rustflags":["-C","target-feature=+crt-static"],"config":2069994364910194474,"compile_kind":0}
|
||||
Binary file not shown.
@@ -0,0 +1 @@
|
||||
This file has an mtime of when this was started.
|
||||
@@ -0,0 +1 @@
|
||||
3ad00e10a403e9ca
|
||||
@@ -0,0 +1 @@
|
||||
{"rustc":7895727629726570510,"features":"[\"tracing\"]","declared_features":"[\"__private_docs\", \"tracing\"]","target":2565713999752801252,"profile":2040997289075261528,"path":6823471965871069668,"deps":[[784494742817713399,"tower_service",false,12752298594651456376],[2251399859588827949,"pin_project_lite",false,7149017922757342239],[2517136641825875337,"sync_wrapper",false,16684852743331818814],[2620434475832828286,"http",false,17053968891482141415],[3870702314125662939,"bytes",false,15983965328910669902],[5898568623609459682,"futures_util",false,740432801063249213],[7712452662827335977,"tower_layer",false,6963401584419349286],[10229185211513642314,"mime",false,5746585919335751095],[14084095096285906100,"http_body",false,13779570902680021432],[14156967978702956262,"rustversion",false,307202636156149238],[14757622794040968908,"tracing",false,3342419282142782267],[16611674984963787466,"async_trait",false,8561541459737031056],[16900715236047033623,"http_body_util",false,15028036742761079282]],"local":[{"CheckDepInfo":{"dep_info":"release\\.fingerprint\\axum-core-a6e43566a6d7c4ec\\dep-lib-axum_core","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0}
|
||||
Binary file not shown.
@@ -0,0 +1 @@
|
||||
This file has an mtime of when this was started.
|
||||
@@ -0,0 +1 @@
|
||||
8b1e4417452eafe4
|
||||
@@ -0,0 +1 @@
|
||||
{"rustc":7895727629726570510,"features":"[\"default\", \"form\", \"http1\", \"json\", \"matched-path\", \"original-uri\", \"query\", \"tokio\", \"tower-log\", \"tracing\"]","declared_features":"[\"__private_docs\", \"default\", \"form\", \"http1\", \"http2\", \"json\", \"macros\", \"matched-path\", \"multipart\", \"original-uri\", \"query\", \"tokio\", \"tower-log\", \"tracing\", \"ws\"]","target":13920321295547257648,"profile":2040997289075261528,"path":11389595210256211551,"deps":[[784494742817713399,"tower_service",false,12752298594651456376],[1363051979936526615,"memchr",false,10855102370283805981],[2251399859588827949,"pin_project_lite",false,7149017922757342239],[2517136641825875337,"sync_wrapper",false,16684852743331818814],[2620434475832828286,"http",false,17053968891482141415],[3632162862999675140,"tower",false,6458612087297960217],[3870702314125662939,"bytes",false,15983965328910669902],[4160778395972110362,"hyper",false,13736755000217363106],[4359148418957042248,"axum_core",false,16686136084492592463],[5898568623609459682,"futures_util",false,740432801063249213],[6803352382179706244,"percent_encoding",false,5471187824467126674],[7712452662827335977,"tower_layer",false,6963401584419349286],[9678799920983747518,"matchit",false,6041300547741572585],[9938278000850417404,"itoa",false,11271476100714528265],[10229185211513642314,"mime",false,5746585919335751095],[11976082518617474977,"hyper_util",false,787615460544153649],[13298363700532491723,"tokio",false,3439843930301783862],[13548984313718623784,"serde",false,4837947589362732912],[13795362694956882968,"serde_json",false,4269254718221498525],[14084095096285906100,"http_body",false,13779570902680021432],[14156967978702956262,"rustversion",false,307202636156149238],[14757622794040968908,"tracing",false,18110149064537120222],[14814583949208169760,"serde_path_to_error",false,14748735964541593397],[16542808166767769916,"serde_urlencoded",false,241454760168124161],[16611674984963787466,"async_trait",false,17588053590813356189],[16900715236047033623,"http_body_util",false,15028036742761079282]],"local":[{"CheckDepInfo":{"dep_info":"release\\.fingerprint\\axum-f973c208d37f6596\\dep-lib-axum","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0}
|
||||
Binary file not shown.
@@ -0,0 +1 @@
|
||||
This file has an mtime of when this was started.
|
||||
@@ -0,0 +1 @@
|
||||
5f72f8bc4d11c54c
|
||||
@@ -0,0 +1 @@
|
||||
{"rustc":7895727629726570510,"features":"[\"alloc\", \"default\", \"std\"]","declared_features":"[\"alloc\", \"default\", \"std\"]","target":13060062996227388079,"profile":2040997289075261528,"path":6066753958720421910,"deps":[],"local":[{"CheckDepInfo":{"dep_info":"release\\.fingerprint\\base64-1ec0b981a536b8b4\\dep-lib-base64","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0}
|
||||
Binary file not shown.
@@ -0,0 +1 @@
|
||||
This file has an mtime of when this was started.
|
||||
@@ -0,0 +1 @@
|
||||
1535c2518903c7da
|
||||
@@ -0,0 +1 @@
|
||||
{"rustc":7895727629726570510,"features":"[\"alloc\", \"default\", \"std\"]","declared_features":"[\"alloc\", \"default\", \"std\"]","target":13060062996227388079,"profile":2040997289075261528,"path":11576010590215010682,"deps":[],"local":[{"CheckDepInfo":{"dep_info":"release\\.fingerprint\\base64-91821662c5f363ec\\dep-lib-base64","checksum":false}}],"rustflags":["-C","target-feature=+crt-static"],"config":2069994364910194474,"compile_kind":0}
|
||||
Binary file not shown.
@@ -0,0 +1 @@
|
||||
This file has an mtime of when this was started.
|
||||
@@ -0,0 +1 @@
|
||||
5a6fa05a554b18ec
|
||||
@@ -0,0 +1 @@
|
||||
{"rustc":7895727629726570510,"features":"[\"alloc\", \"default\", \"std\"]","declared_features":"[\"alloc\", \"default\", \"std\"]","target":13060062996227388079,"profile":2040997289075261528,"path":6066753958720421910,"deps":[],"local":[{"CheckDepInfo":{"dep_info":"release\\.fingerprint\\base64-e23f8399dc4b2df3\\dep-lib-base64","checksum":false}}],"rustflags":["-C","target-feature=+crt-static"],"config":2069994364910194474,"compile_kind":0}
|
||||
Binary file not shown.
@@ -0,0 +1 @@
|
||||
This file has an mtime of when this was started.
|
||||
@@ -0,0 +1 @@
|
||||
04b4287bfacd811f
|
||||
@@ -0,0 +1 @@
|
||||
{"rustc":7895727629726570510,"features":"[]","declared_features":"[]","target":4098124618827574291,"profile":2040997289075261528,"path":12903250018663863884,"deps":[[10520923840501062997,"generic_array",false,11705997572550113997]],"local":[{"CheckDepInfo":{"dep_info":"release\\.fingerprint\\block-buffer-0480740971855254\\dep-lib-block_buffer","checksum":false}}],"rustflags":["-C","target-feature=+crt-static"],"config":2069994364910194474,"compile_kind":0}
|
||||
Binary file not shown.
@@ -0,0 +1 @@
|
||||
This file has an mtime of when this was started.
|
||||
@@ -0,0 +1 @@
|
||||
f690d4e604a4d9ec
|
||||
@@ -0,0 +1 @@
|
||||
{"rustc":7895727629726570510,"features":"[]","declared_features":"[]","target":4098124618827574291,"profile":2040997289075261528,"path":12903250018663863884,"deps":[[10520923840501062997,"generic_array",false,6039169164694498760]],"local":[{"CheckDepInfo":{"dep_info":"release\\.fingerprint\\block-buffer-49858d6143f66344\\dep-lib-block_buffer","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0}
|
||||
Binary file not shown.
@@ -0,0 +1 @@
|
||||
This file has an mtime of when this was started.
|
||||
@@ -0,0 +1 @@
|
||||
9d8f4881cd0071d5
|
||||
@@ -0,0 +1 @@
|
||||
{"rustc":7895727629726570510,"features":"[]","declared_features":"[\"std\"]","target":6686848351246330659,"profile":2040997289075261528,"path":8361130890518400972,"deps":[[10520923840501062997,"generic_array",false,11705997572550113997]],"local":[{"CheckDepInfo":{"dep_info":"release\\.fingerprint\\block-padding-5d7038a215cb09e3\\dep-lib-block_padding","checksum":false}}],"rustflags":["-C","target-feature=+crt-static"],"config":2069994364910194474,"compile_kind":0}
|
||||
Binary file not shown.
@@ -0,0 +1 @@
|
||||
This file has an mtime of when this was started.
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user