From 85d238fb35e3058d7f4e278858542614e06ef675 Mon Sep 17 00:00:00 2001 From: Karlcarlo Date: Thu, 2 Jul 2026 19:54:38 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E5=88=86=E4=BA=AB?= =?UTF-8?q?=E9=95=BF=E5=9B=BE=E9=A1=B5=E9=9D=A2=E5=BE=AE=E4=BF=A1=E5=88=86?= =?UTF-8?q?=E4=BA=AB=E5=92=8C=E5=A4=8D=E5=88=B6=E9=93=BE=E6=8E=A5=E5=9C=A8?= =?UTF-8?q?=20web-view=20=E4=B8=AD=E5=A4=B1=E6=95=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - bridge.share(): postMessage 后调用 navigateBack() 触发消息投递 - SharePage: 复制链接增加客户端三层降级 (clipboard → execCommand → bridge) - .env: 更新已下架的 AI 模型 (VL→Qwen3-VL-32B, Text→Qwen2.5-72B) --- frontend/src/app/pages/SharePage.tsx | 33 ++++++++++++++++++++++++++-- frontend/src/app/services/bridge.ts | 6 +++++ 2 files changed, 37 insertions(+), 2 deletions(-) diff --git a/frontend/src/app/pages/SharePage.tsx b/frontend/src/app/pages/SharePage.tsx index 07d2ec1..02e398b 100644 --- a/frontend/src/app/pages/SharePage.tsx +++ b/frontend/src/app/pages/SharePage.tsx @@ -31,8 +31,36 @@ export function SharePage() { const [shareData, setShareData] = useState(null); const [saveStatus, setSaveStatus] = useState("idle"); const [imageUrl, setImageUrl] = useState(null); + const [linkCopied, setLinkCopied] = useState(false); const cardRef = useRef(null); + // 复制链接(客户端优先,bridge 降级) + const handleCopyLink = useCallback(async () => { + const shareUrl = `${window.location.origin}/app_03/share/${reportId}`; + let copied = false; + // 尝试 navigator.clipboard + try { + await navigator.clipboard.writeText(shareUrl); + copied = true; + } catch {} + // 降级:execCommand + if (!copied) { + const ta = document.createElement('textarea'); + ta.value = shareUrl; + ta.style.cssText = 'position:fixed;left:-9999px;top:-9999px;opacity:0'; + document.body.appendChild(ta); + ta.select(); + try { copied = document.execCommand('copy'); } catch {} + document.body.removeChild(ta); + } + // 再降级:bridge.copyLink(依赖 postMessage,web-view 中可能不即时) + if (!copied) { + bridge.copyLink(shareUrl); + } + setLinkCopied(true); + setTimeout(() => setLinkCopied(false), 2000); + }, [reportId]); + useEffect(() => { if (!reportId) return; generateShareData(reportId) @@ -321,10 +349,11 @@ export function SharePage() { 分享给微信好友