Skip to content

v10.1.0

Latest

Choose a tag to compare

@zhontai zhontai released this 20 Aug 05:17
· 5 commits to master since this release

新增功能

  • 单点登录服务:新增一次性 Ticket 授权码方案,支持 SsoAppManage 应用管理、Ticket 获取/校验及用户信息同步,配套 SSO 实体和仓储
  • 用户个人信息扩展:登录用户基本信息新增性别、手机号、邮箱、企业微信名片等字段
  • 站点消息:新增获取未读数量接口
  • 权限管理:
    • 新增查询简单权限列表接口(PermissionService.GetSimpleListAsync)
    • 分组、菜单、权限点组件支持打开对话框或切换平台类型后查询上级分组/菜单数据
    • 新增分组和菜单默认图标
    • 新增 APP 端"系统管理/套餐管理"权限树、视图及对应操作权限
  • 接口管理:模块地址统一增加"项目编码+/"前缀,新增 ApiDocumentHandler.SyncAsync API 文档同步方法
  • 动态接口:新增 Void 类型结果格式化支持,与接口返回数据格式保持一致,避免接口文档响应数据无法显示

功能优化

  • 接口文档同步重构:改为 gRPC 方式同步,支持多项目并发;新增 AutoSyncToDb 项目级自动同步配置,优化启动流程、异常与日志处理
  • 字符串转换器增强:StringNumberConverter 重构为 StringConverter,支持数字、布尔、null 等类型反序列化为字符串,并在 JsonHelper 全局注册
  • 认证与错误提示优化:优化 401/403 状态码描述并补充国际化资源,认证处理返回本地化提示,前端优先展示后端 msg、细化超时/网络异常提示,图片预览支持缩放
  • 权限体系调整:权限与 API 关联关系重构,细化授权控制,完善 APP 端菜单权限,统一权限平台标识,新增 EnableEnumListApi 等配置项
  • API 路径规范化:大量接口路径统一增加前缀分组
  • 安全随机字符串:使用 RandomNumberGenerator 生成加密安全随机字符串,默认 32 位
  • 前端工程优化:tsconfig.json 启用 noEmit、增加 allowImportingTsExtensions,优化 vite.config.ts 路径解析

Bug 修复

  • 修复账号穷举漏洞:统一登录失败提示,不再区分"账号不存在"与"账号或密码错误"
  • 修复 UserService.GetPermissionAsync 在 MySQL 8.0.12 下查询提示 Unknown column 'a.Id' in 'on clause' 的异常
  • 修复权限管理复制功能所属平台未赋值的问题,复制分组、菜单、权限点均可修改所属平台
  • 修复权限管理切换平台时树形数据无法展开的问题
  • 修复视图管理和权限管理按平台新增时排序未从 1 开始的问题
  • 修复管理界面及代码生成器 index.vue.tpl 前端模板卸载前移除事件监听使用错误卸载事件的问题
  • 修复窗口大小改变时接口重复请求的问题
  • 修复 VSCode 无法格式化代码的问题

依赖升级

  • 后端 NuGet 包:NLog、Mapster、protobuf-net.Grpc、SkiaSharp、CAP、FreeSql、Grpc、Refit、BouncyCastle 等升级至最新小版本,提升安全性与兼容性
  • 前端依赖:element-plus、vue、eslint、vite、axios、dayjs、typescript-eslint 等同步升级,更新接口契约文件与 pnpm-lock.yaml
  • 测试依赖:Microsoft.NET.Test.Sdk、xunit.runner.visualstudio 等升级
  • 项目模板:dev、app 项目模板升级以支持 Admin 最新版本,模板包版本升级至 10.1.0