Repository navigation
v0.1.0
🎉 首个版本化发布
本版本完成 React(Hero UI)+ NestJS + PostgreSQL 的第一套完整全栈系统(Phase 1–3),
并沉淀多标签页保活、路由过渡动画、全站国际化、会话安全与版本统一管理等基础设施。
✨ Features
React 前端(Hero UI 为主 + Shadcn UI 补充,UI 基准版本)
- AdminLayout 双栏布局:侧边栏多级递归菜单、DynamicIcon 动态图标、HeroUI 面包屑、折叠交互、菜单展示模式可配置
- 顶栏:全局搜索命令面板(菜单导航 + 主题切换)、全屏切换、语言切换入口
- 多标签页栏:与 keepAlive 实例池联动、右键菜单(刷新 / 关闭左侧 / 右侧 / 其他 / 全部)
- 偏好设置抽屉:主题色、主题模式、色彩模式(正常 / 灰色 / 色弱)、路由过渡动画 9 预设 + 速度档位、语言切换;主题切换接入 ViewTransition 方向揭示动画
- keepAlive 路由缓存:基于 React
<Activity>的实例池保活,菜单数据驱动、新增页面零登记成本;导航方向感知的 9 种路由过渡动画预设 - 标签右键刷新:激活页复用 VT 过渡编排,重播切换动画
- 登录:记住我(refreshToken 按需持久化)、回跳地址站内校验
- 全站国际化:i18next 双语言(简体中文 / English),菜单 i18nKey 实时翻译,语言切换不改 URL、刷新保持
- 页面标题随路由动态更新(含登录页与错误页)
NestJS 后端(Drizzle ORM + PostgreSQL / Supabase)
- 数据库:9 张表 Drizzle Schema、迁移与种子数据(位掩码权限、软删部分唯一索引、jsonb)
- 认证:JWT 双 Token;refreshToken SHA-256 哈希托管、轮换(事务删旧插新)、重放直接 401;tokenVersion 机制支持改密 / 封禁全端强制下线;记住我分档有效期(契约 v1.2)
- RBAC:位掩码权限 PermissionsGuard、菜单按角色关联过滤、O(1) 内存映射填充 userPermissions(禁 N+1)
- 业务模块:Auth / Users / Roles / Menus / Permissions / Dict / Settings / Logs
- Swagger(/docs)、全局异常过滤器、统一响应结构与 API 日志拦截器
全栈联调
- React 接入 NestJS 真实 API:真实登录 / 退出、菜单联调、双 Token 无感刷新、路由权限门卫、业务页面真实数据
🐛 Bug Fixes
- 无 VT 路径 flushSync 生命周期警告(状态提交与帧捕获职责分离)
- 保活刷新直入丢状态与标签栏滚动体验
- 登录回跳地址站内校验,防开放重定向
- 主题切换 ViewTransition 揭示不全与结束后二次跳变
- 菜单图标统一为裸 lucide 名,修复 DynamicIcon 找不到名称
- 接口对齐契约:login / refresh 返回 200、权限位统一正数全量掩码
- 系统设置编辑保留字段元数据,修复修改后标签丢失
⚡️ Performance
- 布局可达路径集合 useMemo 缓存与异常覆盖层静态提升
♻️ Refactor
- keepAlive 路由缓存与过渡动画架构重构:RouteTransition 双缓冲 → KeepAliveOutlet +
<Activity> - 菜单 - 路由交叉核对,新增字典管理菜单并对齐种子数据
- HeroUI Typography 平替布局排版标签、组件分层结构调整
📝 Documentation
- AGENTS.md 记录各阶段架构约定与状态(React 迁移策略、keepAlive、会话安全、i18n、版本管理)
- nest:OpenAPI Contract v1.1.0 与数据库设计基线 v0.3
🔧 Chore
- 版本统一管理:根 package.json 作产品级版本真源 + sync-versions 同步脚本,基线对齐 0.1.0
- react 包更名 better-admin-react 并补全仓库元信息;侧边栏 GitHub 指向仓库地址
- 接入 Hero UI、全局字体 Maple Mono CN、vercel-react-best-practices 与 heroui-react Skill
- /react-shadcn 调整为只读参考源
Full Changelog: 7440f63...v0.1.0