Skip to content

🎉v10.0.0

Choose a tag to compare

@zhontai zhontai released this 20 Nov 03:40
· 213 commits to master since this release

🚀 核心升级

  • 全面升级至 .NET 10.0: 核心库(admin权限管理、dev代码生成器)以及 app、网关、im 服务端项目模板现已全面支持 .NET 10.0,助您利用最新的平台特性。
  • 统一 JSON 序列化: 彻底告别 Newtonsoft.Json 与 System.Text.Json 的混用,全系统统一使用高性能的 System.Text.Json,提升了序列化效率与一致性。

✨ 新增特性

1. 开发工具与效率

  • 新增在线代码生成器 (Dev) 项目: 提供了一个独立的在线开发-代码生成器项目,进一步提升快速开发能力。
  • 集成 unplugin-auto-import 插件: 自动导入 Vue 常用 API,无需手动引入,显著提升前端开发效率。
  • 新增 env.config.js 静态配置: 提供了中心化的静态环境配置。.env 等动态环境文件可以指定覆盖其配置,同时保留其他未冲突的静态配置,使配置管理更灵活。

2. 前端组件库增强

  • 新增 my-table 表格组件:
    • 支持可配置化表头列。
    • 轻松绑定表格数据源。
    • 完整继承 el-table 的所有属性。
    • 支持通过插槽 (slot) 配置自定义列模板。
    • 内置强大分页功能,支持分页位置自定义,并继承 el-pagination 属性。
    • 自动计算分页数据,同时支持服务端和客户端两种分页模式。
  • 新增 my-col-set.vue 列设置组件: 内置列拖拽排序、置顶、左/右固定、恢复默认等实用功能,为用户提供个性化的表格视图。
  • 新增 login/dialog.vue 弹窗登录组件: 提供了新的登录交互方式。

3. 后端功能扩展

  • 数据字典支持树形结构:
    • 数据字典分类支持树形数据管理。
    • 字典列表增加树形列展示。
    • 实现了树形结构下的新增、查询、导入、导出功能。
    • 根据编码和名称查询支持返回树形数据。
  • 任务调度增强:
    • appsettings.json 中的 TaskSchedulerConfig 增加 Modules 模块列表配置,支持配置模块的远程调用地址。
    • 报警邮件 (AlarmEmail) 支持使用空格分隔多个邮件地址。
  • 邮件服务: 邮件单发功能增加对是否需要身份验证的检查。

4. 用户体验与界面

  • 新增网关项目标题与图标: 网关服务现在可以展示自定义标题和图标。
  • 主题配置增强: ThemeConfigState 增加 isMobile 属性,用于适配移动端视图。
  • 组件功能增强:
    • 主题设置和日志详情抽屉支持调整大小。
    • splitter 组件增加 lazy 模式。

⚡ 重要变更

  • JSON 序列化迁移: 这是本次版本的一项重大变更。所有实体、远程调用、序列化方法均已从 Newtonsoft.Json 迁移至 System.Text.Json。升级时请确保检查所有自定义的 JSON 相关代码。
  • 组件重构:
    • 用户管理、角色管理等页面已将 el-table 和 el-pagination 替换为功能更强大的 MyTable 组件。
    • 多个管理页面不再使用 MySplitPanes 组件,改用 MySplitter 组件。
    • 移除了 my-select 组件,统一使用 el-select 组件。
  • 用户状态与路由:
    • 用户信息状态管理的清空方法不再使用 window 刷新,改为通过路由导航到登录页,体验更流畅。
    • 用户管理组件引用 (ref) 统一更改为 useTemplateRef,以获得更好的 TypeScript 类型推断。
  • 代码生成与模板:
    • 更新了 http-client.ejs 请求客户端生成模板。
    • easyrun 脚本现在支持 dev 项目。

🐛 问题修复

本次版本修复了众多问题,显著提升了系统的稳定性与可靠性,主要包括:

  • 权限相关: 修复了角色设置数据权限和套餐权限后,未正确清理用户数据权限的问题;修复了用户拥有多个部门时的权限逻辑问题。
  • 项目模板: 修复了 App 项目模板生成 sys 项目时缺失滑块验证服务、未正确排除模块示例和 ip2region.xdb 引用、冗余代码等问题。
  • 功能逻辑:
    • 修复了空字符串日期无法映射到 DateTime? 类型的问题。
    • 修复了无 CAP 消息模块时无法记录操作日志的问题。
    • 修复了表格查询组件中数字框默认值、高级查询异常等问题。
    • 修复了 JWT 刷新失败无提示、多接口 Token 失效后返回多个提示信息的问题。
    • 修复了 Admin 后台导入导出功能未正确处理数据字典树形数据的问题。

🔧 优化与改进

  • 性能优化:
    • 优化了组件性能,弃用 InstanceType<typeof ElTable> 写法,改用 TableInstance,并统一使用 useTemplateRef。
    • 优化了 JWT 无感刷新机制。
  • 用户体验优化:
    • 优化了任务调度 Cron 表达式样式、抽屉组件页脚、打印设计、分隔面板等组件的视觉样式。
    • 优化了数据字典类型与数据的联动效果。
    • 优化了任务调度管理的 JSON 编辑器和任务日志抽屉,支持调整大小。

📦 依赖更新

  • 前端: 更新 Admin 前端接口至最新版本,并升级所有 NPM 包到最新版本。
  • 后端: 更新所有 NuGet 包到最新版本。
  • 数据: 更新初始化数据 (InitData/*) 至最新版本。

升级建议

在升级到 v10.0 时,请务必仔细阅读 【重要变更】 部分,特别是关于 JSON 序列化的迁移,这可能需要您对现有项目代码进行调整。建议在测试环境中充分验证后再部署到生产环境。