Skip to content

v0.1.0

Choose a tag to compare

@baiwumm baiwumm released this 28 Aug 01:27
· 615 commits to main since this release

🎉 首个版本化发布

本版本完成 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