fix(头像生成): 当邮箱为空时使用昵称生成头像哈希

修复 getCravatar 函数在邮箱为空时无法生成有效头像的问题。现在当邮箱为空或不存在时,函数会尝试使用昵称作为替代标识符生成 MD5 哈希。如果两者都不可用,则返回默认占位符头像,确保始终返回有效的头像 URL。
This commit is contained in:
anghunk
2026-01-28 13:35:32 +08:00
parent ba0b62ef0c
commit 55af0ed516
3 changed files with 36 additions and 14 deletions

View File

@@ -65,7 +65,7 @@ export const listComments = async (c: Context<{ Bindings: Bindings }>) => {
? row.likes
: 0,
ua: row.ua,
avatar: await getCravatar(row.email, avatarPrefix || undefined),
avatar: await getCravatar(row.email, row.name, avatarPrefix || undefined),
isAdmin: adminEmail && row.email === adminEmail
}))
);

View File

@@ -69,7 +69,7 @@ export const getComments = async (c: Context<{ Bindings: Bindings }>) => {
// 2. 批量处理头像并格式化
const allComments = await Promise.all(results.map(async (row: any) => ({
...row,
avatar: await getCravatar(row.email, avatar_prefix || undefined),
avatar: await getCravatar(row.email, row.name, avatar_prefix || undefined),
isAdmin: adminEmail && row.email === adminEmail,
replies: []
})))