type FloatingToastListener = (message: string) => void; const listeners = new Set(); export function registerFloatingToastListener(fn: FloatingToastListener) { listeners.add(fn); return () => { listeners.delete(fn); }; } /** 已有页面宿主时返回 true,否则调用方应回退到原生 toast */ export function showFloatingToast(message: string): boolean { const text = message.trim(); if (!text || listeners.size === 0) return false; listeners.forEach((fn) => fn(text)); return true; }