"use client"; import React from "react"; import Image from "next/image"; import crypto from "crypto"; // 生成 Gravatar URL 的函数 function getGravatarUrl(email: string, size: number = 40, defaultType: string = "identicon"): string { const hash = crypto.createHash('md5').update(email.toLowerCase().trim()).digest('hex'); return `https://www.gravatar.com/avatar/${hash}?s=${size}&d=${defaultType}`; } interface GravatarAvatarProps { email: string; size?: number; className?: string; alt?: string; url?: string; defaultType?: 'mm' | 'identicon' | 'monsterid' | 'wavatar' | 'retro' | 'robohash' | 'blank'; } const GravatarAvatar: React.FC = ({ email, size = 40, className = "", alt = "avatar", url, defaultType = "identicon" }) => { // 如果有自定义URL,使用自定义URL if (url) { return ( {alt} ); } const gravatarUrl = getGravatarUrl(email, size * 10, defaultType); return ( {alt} ); }; // 用户类型定义(如果还没有的话) interface User { email?: string; displayName?: string; name?: string; avatarUrl?: string; } export function getGravatarByUser(user?: User, className: string = ""): React.ReactElement { if (!user) { return ; } return ( ); } export default GravatarAvatar;