/* v21 part1 */ (function () { 'use strict'; if (window.__mobV21) return; window.__mobV21 = true; function $(id) { return document.getElementById(id); } /* 撤销 v20 对 #login-form-container 的强制显示/隐藏干预: 登录 UI 由 login-register-enhanced-component(组件版) 自行管理, 避免双登录叠放。仅保留:游客模式 + 注册登录走 8001(真库)。 */ var GUEST = 'v20_guest'; function guestOn() { try { localStorage.setItem(GUEST, '1'); } catch (e) {} guestBar(); var lc = $('login-form-container'); if (lc && lc.style.display === 'flex') lc.style.display = 'none'; var gl = document.querySelector('[id*="loginSection"],[id*="login-form-section"]'); if (gl) { var p = gl.closest('[style*="flex"],.overlay,[class*="modal"],[class*="overlay"]'); if (p && p.style) p.style.display = 'none'; } location.reload(); } function guestBar() { try { if ($('v21Bar')) return; var d = document.createElement('div'); d.id = 'v21Bar'; d.style.cssText = 'position:fixed;top:0;left:0;right:0;z-index:29000;background:#f1f5f9;color:#475569;font-size:12px;padding:6px 10px;display:flex;align-items:center;gap:8px;'; d.innerHTML = '👀 游客预览模式(只读体验)登录'; document.body.appendChild(d); var hd = document.querySelector('.mobile-header'); if (hd) hd.style.marginTop = '32px'; var gl = $('v21GoLogin'); if (gl) gl.onclick = function () { try { localStorage.removeItem(GUEST); } catch (e) {} location.reload(); }; } catch (e) {} } function floatBtn() { if ($('v21Fab')) return; var fab = document.createElement('div'); fab.id = 'v21Fab'; fab.style.cssText = 'position:fixed;right:14px;bottom:76px;z-index:28000;font-size:12px;color:#334155;background:#fff;border:1px solid #cbd5e1;border-radius:18px;padding:7px 12px;box-shadow:0 2px 8px rgba(0,0,0,.12);cursor:pointer;'; fab.textContent = localStorage.getItem(GUEST) === '1' ? '返回登录' : '👀 游客体验'; fab.onclick = function () { if (localStorage.getItem(GUEST) === '1') { try { localStorage.removeItem(GUEST); } catch (e) {} location.reload(); } else { guestOn(); } }; document.body.appendChild(fab); } /* 自动:游客态显示顶条;底部悬浮按钮已废弃(v20260909:会遮住发送按钮,登录入口已改由顶部 header 登录钮/游客顶条承担) */ function boot21() { try { if (localStorage.getItem(GUEST) === '1') { guestBar(); } console.log('[MobV21] ready'); } catch (e) {} } if (document.readyState === 'loading') document.addEventListener('DOMContentLoaded', boot21); else boot21(); setTimeout(boot21, 1200); setTimeout(boot21, 3000); })();