fix: hide public card account identifiers

This commit is contained in:
2026-06-03 12:09:03 +08:00
parent 3f742fbaca
commit 545ffa4b2c
7 changed files with 96 additions and 10 deletions

View File

@@ -867,14 +867,31 @@ export function resolvePlatformWorkAuthorDisplayName(
entry: PlatformPublicGalleryCard,
authorSummary?: PublicUserSummary | null,
) {
const displayName = authorSummary?.displayName?.trim();
const publicUserCode = authorSummary?.publicUserCode?.trim();
const displayName = normalizePlatformPublicAuthorName(
authorSummary?.displayName,
);
const entryAuthorName = normalizePlatformPublicAuthorName(
entry.authorDisplayName,
);
if (displayName && publicUserCode) {
return `${displayName} · ${publicUserCode}`;
return displayName || entryAuthorName || '玩家';
}
function normalizePlatformPublicAuthorName(value: string | null | undefined) {
const normalized = value?.trim() ?? '';
if (!normalized || normalized === 'null' || normalized === 'undefined') {
return '';
}
return displayName || publicUserCode || entry.authorDisplayName.trim() || '玩家';
const compact = normalized.replace(/\s+/gu, '');
if (/^\d+\*+\d+(?:[·.-]?SY-\d+)?$/iu.test(compact)) {
return '';
}
if (/^SY-\d+$/iu.test(compact)) {
return '';
}
return normalized;
}
export function buildPlatformWorldDisplayTags(