V0.8.0 发布说明
本月围绕「菜单体系」进行系统性升级。新增完整的菜单管理模块,支持在系统内自定义菜单并进行增删改查;系统设置增加自定义菜单启用开关,侧边栏可在启用后合并系统自定义菜单;支持按模块一键控制菜单显示,实现菜单的动态化管理。同时重构了菜单排序字段与角色可见性配置,补充了菜单相关文档。另外修复了 PocketBase 集合批量创建时关系字段与索引校验失败的问题。
新特性
菜单管理模块
- 新增
src/modules/menu/菜单管理模块,提供菜单的增删改查管理页面与表单抽屉。 - 内置系统菜单树构建与缓存逻辑,并提供静态菜单示例作为数据来源。
- 添加 PocketBase
system_menu集合迁移配置,配置模块路由与权限保护。 - 补充菜单模块完整文档与站点导航入口,模块自带 README 说明。
自定义菜单支持
- 系统设置新增「菜单设置」,提供自定义菜单启用/禁用开关。
- 侧边栏增加自定义菜单加载逻辑:启用后,将系统自定义菜单合并到默认模块菜单之后展示。
模块菜单显示开关
- 模块管理页面新增「菜单显示」开关,通过
system_modules表的show_menu字段控制对应模块菜单是否在侧边栏显示,实时生效。 - 新增
ModuleMenuProvider上下文管理隐藏模块列表;菜单项自动标记来源模块(__moduleName),实现按模块过滤隐藏菜单。
菜单排序与角色可见性重构
- 菜单排序字段由
sort统一重构为order,前后端排序逻辑一致。 - 将
userOnly/adminOnly两个独立开关重构为统一的「系统角色可见性」配置,优化表单交互。 - 新增菜单缓存清理工具函数,菜单增删改后自动刷新缓存。
- 菜单管理界面增加角色标签与排序权重展示。
功能增强
- 示例模块菜单增加
userOnly角色可见性配置,作为普通用户菜单的演示。 - 补充菜单管理模块 README 与站点侧边导航入口。
- 更新项目文档中的架构示意图。
- 调整 GitHub Pages 部署工作流的 actions 插件版本并清理冗余环境变量,适配 Node 24 运行环境。
缺陷修复
- 修复 PocketBase 集合批量创建时,自引用 / 批次内互引用的关系字段及其依赖索引因校验无法通过而失败的问题:将集合创建拆分为两轮,先创建去除批次内互引用关系字段的集合,再补全延迟的关系字段与索引。