diff --git a/src/components/MiniProgramLauncher/hooks/useWechatEnvironment.js b/src/components/MiniProgramLauncher/hooks/useWechatEnvironment.js index c3b19773..00b779ea 100644 --- a/src/components/MiniProgramLauncher/hooks/useWechatEnvironment.js +++ b/src/components/MiniProgramLauncher/hooks/useWechatEnvironment.js @@ -43,12 +43,15 @@ export const isMobileDevice = () => { // 方式4:Safari 特定检测(iOS Safari 不会在 UA 中包含 "Mobile" 但会有 "Safari") const isSafariMobile = /Safari/i.test(ua) && /Apple/i.test(navigator.vendor) && touchCheck; - const result = uaCheck || (touchCheck && screenCheck) || isSafariMobile; + // 方式5:微信浏览器检测(微信内必定是移动端) + const isWechat = ua.toLowerCase().includes('micromessenger'); + + const result = uaCheck || (touchCheck && screenCheck) || isSafariMobile || isWechat; // 调试日志(仅在开发环境) if (process.env.NODE_ENV === 'development') { console.log('[isMobileDevice] UA:', ua); - console.log('[isMobileDevice] uaCheck:', uaCheck, 'touchCheck:', touchCheck, 'screenCheck:', screenCheck, 'isSafariMobile:', isSafariMobile); + console.log('[isMobileDevice] uaCheck:', uaCheck, 'touchCheck:', touchCheck, 'screenCheck:', screenCheck, 'isSafariMobile:', isSafariMobile, 'isWechat:', isWechat); console.log('[isMobileDevice] result:', result); }