'use client' import Image from 'next/image' import { Session } from 'next-auth' import { signOut } from 'next-auth/react' import { LogOut, User, Pickaxe, ShieldCheck } from "lucide-react"; // 导入图标 import { Button } from '@/components/ui/button' import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger } from '@/components/ui/dropdown-menu' import { sync } from 'framer-motion' import service from '@/lib/http/service' import React from 'react' import toast from 'react-hot-toast' import { useRouter } from 'next/navigation' function getUserInitials(name: string) { const [firstName, lastName] = name.split(' ') return lastName ? `${firstName[0]}${lastName[0]}` : firstName.slice(0, firstName.length) } export interface UserData { auth_token: string; id: number; login_ip: string; login_time: number; role: string; user_name: string; version: string; image?: string; } export function UserMenu({ user }: { user: UserData }) { const [isLoading, setIsLoading] = React.useState(false); const router = useRouter() const getRandomColor = (name: string | undefined): string => { if (!name) return "#999"; // 默认颜色 const colors = ["#FF5733", "#33FF57", "#3357FF", "#FF33A8", "#FFC300", "#FF5733", "#57FF33", "#A833FF"]; const index = name.charCodeAt(0) % colors.length; // 根据名字的首字母选择颜色 return colors[index]; }; return (