| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- '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
- }
|