'use client'; // <--- 必须加这行 import { useEffect } from 'react'; import api from '@/lib/api'; export default function AutoRegistrar() { useEffect(() => { const runAutoRegister = async () => { // 1. 检查本地是否有 Token const token = localStorage.getItem('rsid'); // 调试日志:让你知道为什么没跑 if (token) { console.log("AutoRegistrar: 检测到已有 Token,跳过自动注册"); return; } console.log("AutoRegistrar: 未检测到 Token,开始自动注册..."); try { // 2. 调用自动注册接口 const res = await api.post('/api/auth/auto-register', { register_ip: 'client-init' }); const data = res.data.data || res.data; const newToken = data.token || data.access_token; // 3. 保存 Token if (newToken) { localStorage.setItem('rsid', newToken); if (data.user) { localStorage.setItem('user_info', JSON.stringify(data.user)); } console.log("AutoRegistrar: 自动注册成功!Token 已保存。"); // 通知 Navbar 更新状态 window.dispatchEvent(new Event('storage')); } } catch (error) { console.error("AutoRegistrar: 自动注册失败", error); } }; runAutoRegister(); }, []); return null; // 这个组件不需要渲染任何 HTML }