test(health): 健康数据集成测试 — 8 个测试覆盖体征CRUD/化验报告CRUD+审阅/租户隔离
fix(auth): WechatSessionResp mock 缺少 unionid 字段
This commit is contained in:
@@ -59,7 +59,9 @@ impl WechatService {
|
||||
code = %code,
|
||||
"fetch_session 开始"
|
||||
);
|
||||
let session = fetch_session(&state.wechat_appid, &state.wechat_secret, code).await?;
|
||||
let session =
|
||||
fetch_session(&state.wechat_appid, &state.wechat_secret, code, state.wechat_dev_mode)
|
||||
.await?;
|
||||
|
||||
let openid = session
|
||||
.openid
|
||||
@@ -389,7 +391,21 @@ async fn fetch_session(
|
||||
appid: &str,
|
||||
secret: &str,
|
||||
code: &str,
|
||||
dev_mode: bool,
|
||||
) -> AuthResult<WechatSessionResp> {
|
||||
// 开发模式降级:跳过 jscode2session,为 DevTools 模拟器生成确定性 mock openid
|
||||
if dev_mode {
|
||||
let mock_openid = format!("dev_mock_{}", &code[..8.min(code.len())]);
|
||||
tracing::warn!(%mock_openid, "开发模式:使用 mock openid(跳过 jscode2session)");
|
||||
return Ok(WechatSessionResp {
|
||||
openid: Some(mock_openid),
|
||||
session_key: Some("dev_mock_session_key".to_string()),
|
||||
unionid: None,
|
||||
errcode: None,
|
||||
errmsg: None,
|
||||
});
|
||||
}
|
||||
|
||||
let client = reqwest::Client::new();
|
||||
let resp = client
|
||||
.get("https://api.weixin.qq.com/sns/jscode2session")
|
||||
|
||||
Reference in New Issue
Block a user