工作台撤顶栏:身份菜单收进左轨底部(悬停从轨右侧弹出);姓名展示改姓在前(token claims 与名册同步两处拼装同尺)

This commit is contained in:
shanqin
2026-08-26 19:42:31 +08:00
parent 99f021f964
commit 0c029b694d
8 changed files with 59 additions and 40 deletions
@@ -21,7 +21,13 @@ export function normalizeRoles(roles: readonly string[]): string[] {
export function identityOf(claims: VerifiedClaims): Identity {
const account = claims.preferred_username;
const name = claims.name === undefined || claims.name.trim() === '' ? account : claims.name.trim();
/* 姓名展示姓在前(2026-08-26 用户定):有姓/名散件就按「姓 名」拼;
没有散件才用 Keycloak 的全名 `name`(它按「名 姓」拼,中文场景顺序是反的) */
const cjk = [claims.family_name, claims.given_name]
.filter((s): s is string => s !== undefined && s.trim() !== '')
.join(' ');
const fallback = claims.name === undefined || claims.name.trim() === '' ? account : claims.name.trim();
const name = cjk !== '' ? cjk : fallback;
const email = claims.email === undefined || claims.email.trim() === '' ? undefined : claims.email.trim();
return {
sub: claims.sub,