4c88964473
- 新后台 admin-frontend-vue 整工程入库(base=/admin-vue/、History 路由、Nginx 静态托管方案与 verify-dist 校验) - Java AdminConsoleController 改为入口重定向: /admin|/admin.html、/login|/login.html -> /admin-vue/; 删除 classpath:static 旧 admin.html/login.html 单页与 admin.js 副本 - Flask 后台整体退役: 删除 admin_api/auth/main 蓝图、web_source 页面、static 脚本与 admin 相关测试; app.py 收敛为仅注册 version_bp(/api/version、/api/version/latest, 供桌面端更新检查) - AdminApiGuardFilterTest 豁免样例路径 /admin.html -> /admin-vue/
24 lines
932 B
TypeScript
24 lines
932 B
TypeScript
import type { AdminUser } from '../types/admin.ts'
|
|
import { roleLabel } from '../types/admin.ts'
|
|
|
|
/** 无 meta.title 时的壳层缺省标题。 */
|
|
export const ADMIN_DEFAULT_TITLE = '管理后台'
|
|
|
|
/** 页面标题模型:由路由 meta.title 驱动,空值回落缺省标题。 */
|
|
export function pageTitleOf(title: string | null | undefined): string {
|
|
const value = typeof title === 'string' ? title.trim() : ''
|
|
return value || ADMIN_DEFAULT_TITLE
|
|
}
|
|
|
|
export interface TopbarUserViewModel {
|
|
username: string
|
|
role: string
|
|
hasUser: boolean
|
|
}
|
|
|
|
/** 顶部栏用户模型:用户信息或未登录空态统一为可渲染视图模型。 */
|
|
export function topbarUserOf(user: AdminUser | null | undefined): TopbarUserViewModel {
|
|
if (!user) return { username: '当前用户', role: '', hasUser: false }
|
|
return { username: user.username || '当前用户', role: roleLabel(user.role) || user.role || '', hasUser: true }
|
|
}
|