feat(frontend+backend): 实现SSR登录态优化与字体自托管

1. 后端调整refresh cookie路径与注释,完善认证cookie处理逻辑
2. 前端全局layout新增next/font自托管字体,消除FOUT闪动
3. 实现SSR直出登录态与未读通知数,避免页面加载闪动
4. 新增中间件处理access token静默轮转,保障SSR登录态
5. 优化登录、改密流程,添加页面刷新同步登录态
6. 重构通知铃铛组件支持初始未读数传入
This commit is contained in:
2026-09-12 04:59:26 +08:00
parent 1eaf3903d4
commit 1bb565c687
9 changed files with 226 additions and 30 deletions

View File

@@ -12,10 +12,11 @@ import {
type NotificationItem,
} from "@/lib/api";
export default function NotificationBell() {
export default function NotificationBell({ initialUnread = 0 }: { initialUnread?: number }) {
const router = useRouter();
const [open, setOpen] = useState(false);
const [unread, setUnread] = useState(0);
// SSR 直出未读数,红点不再挂载后才弹出;挂载后轮询自然校正
const [unread, setUnread] = useState(initialUnread);
const [notifications, setNotifications] = useState<NotificationItem[]>([]);
const [loading, setLoading] = useState(false);
const dropdownRef = useRef<HTMLDivElement>(null);