feat(admin-portal): 完成参考项目差距闭环 - 4 批次补齐 + Vitest 测试

差距分析闭环(workline §7-§8):
- P0:审计子模块 3 页 + 学校组织 7 页
- P1:系统设置 4 Card + 公告管理 + 邀请码管理
- P2:文件管理 + AI 配置
- P6:5 测试文件 / 69 用例全过

共享基础设施:
- permissions +11 权限点 +14 路由
- view-models +20 接口
- i18n +100 key
- graphql-client +25 operation
- fixtures/handlers +15 mock +20 handler

质量:typecheck + lint 零错误,vitest 69/69 通过,arch.db 已更新
This commit is contained in:
SpecialX
2026-07-13 13:05:29 +08:00
parent fad6e43b47
commit 7cf9aec20e
40 changed files with 6707 additions and 7 deletions

View File

@@ -162,6 +162,125 @@ const messages: MessageMap = {
// 退出
"admin.auth.logout": "退出登录",
"admin.auth.welcome": "Edu 管理端",
// 学校管理(细化)
"admin.school.title": "学校管理",
"admin.school.schools": "学校列表",
"admin.school.grades": "年级管理",
"admin.school.departments": "部门管理",
"admin.school.academicYear": "学年学期",
"admin.school.gradeInsights": "年级洞察",
"admin.school.principal": "校长",
"admin.school.director": "年级主任",
"admin.school.leader": "负责人",
"admin.school.memberCount": "成员数",
"admin.school.subject": "学科",
"admin.school.startDate": "开始日期",
"admin.school.endDate": "结束日期",
"admin.school.currentYear": "当前学年",
"admin.school.insights.summary": "全校概览",
"admin.school.insights.homework": "作业时间线",
"admin.school.insights.rankings": "班级排名",
"admin.school.insights.avgScore": "平均分",
"admin.school.insights.passingRate": "及格率",
"admin.school.insights.rank": "排名",
"admin.school.insights.delta": "环比",
// 审计日志子模块
"admin.auditLogs.overview": "审计总览",
"admin.auditLogs.dataChanges": "数据变更",
"admin.auditLogs.loginLogs": "登录日志",
"admin.auditLogs.totalEvents": "总事件数",
"admin.auditLogs.todayEvents": "今日事件",
"admin.auditLogs.uniqueActors": "操作人数",
"admin.auditLogs.failedActions": "失败操作",
"admin.auditLogs.topActions": "热门操作",
"admin.auditLogs.topResources": "热门资源",
"admin.auditLogs.trend": "操作趋势",
"admin.auditLogs.tableName": "数据表",
"admin.auditLogs.recordId": "记录ID",
"admin.auditLogs.beforeState": "变更前",
"admin.auditLogs.afterState": "变更后",
"admin.auditLogs.loginAction": "登录动作",
"admin.auditLogs.loginStatus": "状态",
"admin.auditLogs.failureReason": "失败原因",
"admin.auditLogs.userAgent": "User-Agent",
// 公告管理
"admin.announcements.title": "公告管理",
"admin.announcements.new": "发布公告",
"admin.announcements.publish": "发布",
"admin.announcements.archive": "归档",
"admin.announcements.pin": "置顶",
"admin.announcements.unpin": "取消置顶",
"admin.announcements.draft": "草稿",
"admin.announcements.published": "已发布",
"admin.announcements.archived": "已归档",
"admin.announcements.audience": "受众",
"admin.announcements.readCount": "已读",
"admin.announcements.author": "发布人",
"admin.announcements.publishedAt": "发布时间",
// 邀请码管理
"admin.invitationCodes.title": "邀请码管理",
"admin.invitationCodes.generate": "批量生成",
"admin.invitationCodes.code": "邀请码",
"admin.invitationCodes.batch": "批次",
"admin.invitationCodes.unused": "未使用",
"admin.invitationCodes.used": "已使用",
"admin.invitationCodes.expired": "已过期",
"admin.invitationCodes.bindRole": "绑定角色",
"admin.invitationCodes.bindClass": "绑定班级",
"admin.invitationCodes.bindEmail": "限定邮箱",
"admin.invitationCodes.usedBy": "使用者",
"admin.invitationCodes.usedAt": "使用时间",
"admin.invitationCodes.expiresAt": "过期时间",
"admin.invitationCodes.generateCount": "生成数量",
"admin.invitationCodes.generateSuccess": "成功生成 {{count}} 个邀请码",
// 文件管理
"admin.files.title": "文件管理",
"admin.files.filename": "文件名",
"admin.files.mimeType": "类型",
"admin.files.size": "大小",
"admin.files.entityType": "关联类型",
"admin.files.uploadedBy": "上传者",
"admin.files.totalFiles": "文件总数",
"admin.files.totalSize": "总大小",
"admin.files.batchDelete": "批量删除",
"admin.files.preview": "预览",
// AI 配置
"admin.aiSettings.title": "AI 配置",
"admin.aiSettings.providers": "AI Provider",
"admin.aiSettings.usage": "用量统计",
"admin.aiSettings.totalRequests": "总请求数",
"admin.aiSettings.totalTokens": "总 Token",
"admin.aiSettings.totalCost": "总费用",
"admin.aiSettings.provider": "Provider",
"admin.aiSettings.model": "模型",
"admin.aiSettings.isActive": "启用",
"admin.aiSettings.isPublic": "公共",
"admin.aiSettings.addProvider": "添加 Provider",
// 系统设置增强
"admin.system.security": "安全策略",
"admin.system.fileUpload": "文件上传",
"admin.system.notification": "通知配置",
"admin.system.brand": "品牌配置",
"admin.system.passwordMinLength": "密码最小长度",
"admin.system.passwordRequireSpecial": "要求特殊字符",
"admin.system.passwordRequireUppercase": "要求大写字母",
"admin.system.sessionTimeout": "会话超时(分钟)",
"admin.system.forcePasswordChange": "强制修改密码",
"admin.system.maxFileSize": "最大文件大小(MB)",
"admin.system.allowedTypes": "允许的文件类型",
"admin.system.notifyNewUser": "新用户通知",
"admin.system.notifyScheduleChange": "调课通知",
"admin.system.notifyAnnouncement": "公告通知",
"admin.system.logoUrl": "Logo URL",
"admin.system.primaryColor": "主题色",
"admin.system.schoolMotto": "校训",
};
/**