压缩扫码登录小程序码场景值

This commit is contained in:
汤学会 2026-07-06 11:17:31 +08:00
parent 04f3f96909
commit bcfe788d58
2 changed files with 9 additions and 7 deletions

View File

@ -45,7 +45,7 @@ def _require_session_id(session_id: int | None) -> int:
def _scene(ticket: str, session_id: int) -> str: def _scene(ticket: str, session_id: int) -> str:
return f"ticket={ticket}&session_id={session_id}" return f"t={ticket}&s={session_id}"
def _action_response(data: dict[str, Any]) -> ErpLoginActionResponse: def _action_response(data: dict[str, Any]) -> ErpLoginActionResponse:
@ -125,7 +125,7 @@ async def create_erp_login_qrcode(
scene = _scene(payload.ticket, payload.session_id) scene = _scene(payload.ticket, payload.session_id)
try: try:
qr_url = await create_miniapp_qrcode( qr_url = await create_miniapp_qrcode(
key=f"erp-login-{payload.ticket}", key=f"erp-login-{payload.session_id}",
page=ERP_LOGIN_PAGE, page=ERP_LOGIN_PAGE,
scene=scene, scene=scene,
public_base_url=settings.public_base_url, public_base_url=settings.public_base_url,

View File

@ -98,7 +98,7 @@ def test_qrcode_signed_request_uses_expected_miniapp_qrcode_contract(monkeypatch
async def fake_create_miniapp_qrcode(**kwargs): async def fake_create_miniapp_qrcode(**kwargs):
calls.append(kwargs) calls.append(kwargs)
return "https://miniapp.example.com/uploads/erp-login-qrcodes/erp-login-ticket-abc.png" return "https://miniapp.example.com/uploads/erp-login-qrcodes/erp-login-123.png"
monkeypatch.setattr(erp_login, "create_miniapp_qrcode", fake_create_miniapp_qrcode) monkeypatch.setattr(erp_login, "create_miniapp_qrcode", fake_create_miniapp_qrcode)
client = _client(monkeypatch) client = _client(monkeypatch)
@ -112,18 +112,20 @@ def test_qrcode_signed_request_uses_expected_miniapp_qrcode_contract(monkeypatch
assert response.status_code == 200 assert response.status_code == 200
assert response.json() == { assert response.json() == {
"qr_url": "https://miniapp.example.com/uploads/erp-login-qrcodes/erp-login-ticket-abc.png", "qr_url": "https://miniapp.example.com/uploads/erp-login-qrcodes/erp-login-123.png",
"page": "pages/erpLoginConfirm/erpLoginConfirm", "page": "pages/erpLoginConfirm/erpLoginConfirm",
"scene": "ticket=ticket-abc&session_id=123", "scene": "t=ticket-abc&s=123",
} }
assert "ticket-abc" not in calls[0]["key"]
assert calls == [{ assert calls == [{
"key": "erp-login-ticket-abc", "key": "erp-login-123",
"page": "pages/erpLoginConfirm/erpLoginConfirm", "page": "pages/erpLoginConfirm/erpLoginConfirm",
"scene": "ticket=ticket-abc&session_id=123", "scene": "t=ticket-abc&s=123",
"public_base_url": "https://miniapp.example.com", "public_base_url": "https://miniapp.example.com",
"directory": "erp-login-qrcodes", "directory": "erp-login-qrcodes",
"label": "ERP扫码登录", "label": "ERP扫码登录",
}] }]
assert len(response.json()["scene"]) <= 32
def test_qrcode_requires_session_id(monkeypatch): def test_qrcode_requires_session_id(monkeypatch):