From b6b258498cec50a61d398f26f051438d561b9977 Mon Sep 17 00:00:00 2001 From: Aska Date: Mon, 7 Sep 2026 21:51:30 +0800 Subject: [PATCH] =?UTF-8?q?fix(weixin):=20=E4=BA=8C=E7=BB=B4=E7=A0=81?= =?UTF-8?q?=E6=94=B9=E7=94=A8=20qrcode=20=E5=8E=9F=E5=A7=8B=E6=A0=87?= =?UTF-8?q?=E8=AF=86=E4=B8=B2=E7=94=9F=E6=88=90=E2=80=94=E2=80=94qrUrl(lit?= =?UTF-8?q?eapp=E9=A1=B5=E9=9D=A2)=E7=BC=96=E7=A0=81=E4=B8=8D=E8=83=BD?= =?UTF-8?q?=E8=A2=AB=E5=BE=AE=E4=BF=A1=E8=AF=86=E5=88=AB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 把 qrUrl(liteapp HTML页面URL)编码成二维码,微信扫它当普通链接打开→页面不认→'过期'。 改用 qrcode 原始标识串生成二维码(get_qrcode_status 轮询的 key, 微信扫码后解析), 并保留 qrUrl 作为'在微信/浏览器打开扫码页'的备用链接。build/部署。 --- .../admin/modules/channels/WeixinLogin.tsx | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/frontend/web/src/admin/modules/channels/WeixinLogin.tsx b/frontend/web/src/admin/modules/channels/WeixinLogin.tsx index a270bbb..be98805 100644 --- a/frontend/web/src/admin/modules/channels/WeixinLogin.tsx +++ b/frontend/web/src/admin/modules/channels/WeixinLogin.tsx @@ -41,6 +41,7 @@ export function WeixinLogin({ }): React.ReactNode { const log = useAuditStore((s) => s.log); const [status, setStatus] = useState("idle"); + const [qrCode, setQrCode] = useState(""); const [qrUrl, setQrUrl] = useState(""); const [botId, setBotId] = useState(""); const [busy, setBusy] = useState(null); @@ -86,10 +87,12 @@ export function WeixinLogin({ const start = () => { setBusy("__qr__"); setNotice(null); + setQrCode(""); setQrUrl(""); adminWeixinLoginQR(platform, accountId) .then((r) => { log("channel.weixin.login.qr", "ok"); + setQrCode(r.qrCode ?? ""); setQrUrl(r.qrUrl ?? ""); if (r.status === "confirmed") { setStatus("confirmed"); @@ -117,7 +120,7 @@ export function WeixinLogin({ .finally(() => setBusy(null)); }; - const showQR = status === "waiting" || qrUrl !== ""; + const showQR = status === "waiting" || qrCode !== ""; return ( @@ -144,11 +147,21 @@ export function WeixinLogin({ {showQR ? (
- {qrUrl ? ( - + {qrCode ? ( + ) : ( 二维码暂不可用,请点击「刷新二维码」重试。 )} + {qrUrl ? ( + + 若上方码不识别,点此在微信/浏览器打开扫码页 + + ) : null}

请用微信扫描上方二维码,确认后自动连接(最多等待约 8 分钟)。

) : null}