Files
crawler-plugin/admin-frontend-vue/src/layout/topbar-model.ts
T
huangzd1997 4c88964473 task-283(后台迁移收尾/发布): admin-vue 后台工程入库 + Flask 后台整体退役
- 新后台 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/
2026-09-06 10:41:47 +08:00

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 }
}