xiangning
|
1aeaf7b1a6
|
feat(platform): 实现菜单管理功能并完善权限控制
- 将菜单实体的 ID 类型从 Guid 改为 long,并配置为自增主键
- 添加菜单创建、删除、树形结构构建等完整的 CRUD 操作支持
- 为文件上传相关端点添加 file:upload 权限验证
- 为文件操作端点添加 file:read 和 file:write 权限控制
- 为通知功能添加 notification:read 权限限制
- 实现 BuildFlow 按钮执行的权限检查机制
- 在 IM 模块中集成 Redis 未读计数器优化性能
- 更新用户主页路径从 /workspace 到 /dashboard/workspace
- 添加 SignalR Hub 授权和 WebSocket 连接安全保护
- 新增平台测试项目并完善按钮权限测试用例
|
2026-07-04 17:21:07 +08:00 |
|
xiangning
|
81fbf63504
|
feat(workflow): 集成平台消息中心实现工作流通知推送
- 移除文件端点的权限控制以支持无权限访问
- 添加 IPlatformNotificationPublisher 接口定义跨模块通知发布能力
- 实现 WorkflowNotificationPublisher 将工作流通知转发到平台消息中心
- 在 NotificationService 中集成平台通知发布功能
- 添加 NoOpPlatformNotificationPublisher 用于单元测试
- 配置服务注册将工作流通知连接到平台消息系统
- 支持按用户ID批量发布工作流通知到平台通知表
- 复用平台的 fanout 落库和 SignalR 铃铛推送机制
- 实现容错机制确保通知失败不影响工作流主链路
|
2026-07-03 16:33:46 +08:00 |
|
xiangning
|
f932781040
|
feat(rag): 集成 Microsoft Extensions AI 框架并重构对话代理服务
- 引入 Microsoft.Extensions.AI.Abstractions 依赖包
- 重构 ChatAgentService 实现,支持多轮对话历史
- 更新 IAIChatAgent 接口,统一使用 ChatMessage 消息格式
- 优化流式输出处理逻辑,提升性能表现
feat(im): 增强即时通讯会话功能支持置顶备注免打扰
- 扩展会话 DTO,新增 IsPinned、IsMuted、OtherUserRemark 属性
- 扩展 ConversationParticipant 实体,新增置顶和备注相关字段
- 实现会话置顶功能,支持按置顶时间和最后消息时间排序
- 添加会话备注功能,私聊场景支持自定义备注名称
- 完善免打扰功能,支持用户级别静音设置
feat(file): 实现文件预览服务支持多种鉴权方式
- 新增文件预览端点,支持流式返回文件内容
- 实现三种鉴权方式:授权头、JWT令牌、内部签名
- 集成 KKFileView 预览服务,支持 Office 文档在线预览
- 优化文件访问安全控制,避免直接暴露 S3 链接
feat(rag): 增强 RAG 会话管理支持知识库关联
- 扩展会话创建功能,支持关联知识库
- 新增会话更新功能,支持重命名和切换知识库
- 优化会话 DTO 结构,支持知识库 ID 关联
- 实现知识库检索增强对话功能
feat(workflow): 废弃旧工作流定义接口迁移到图形化存储
- 标记旧的节点边操作端点为废弃状态
- 实现工作流定义图形化存储迁移
- 统一使用 JSON 格式作为单一事实源
- 优化工作流定义查询性能表现
chore(deps): 更新项目依赖包版本解决版本冲突问题
- 添加 Microsoft.Extensions.AI.Abstractions 依赖
- 显式声明 OpenAI 2.11.0 版本解决 CS1705 冲突
- 更新相关依赖包至兼容版本
fix(host): 修复文件预览响应包装中间件配置问题
- 添加文件预览接口到响应绕过前缀列表
- 避免文件流被 JSON 包装和内存缓冲影响性能
- 优化文件下载和预览的中间件处理逻辑
chore(im): 修复 IM 设计时数据库上下文工厂路径问题
- 优化 ImDbContextDesignTimeFactory 路径查找逻辑
- 修复数据库迁移时连接字符串获取问题
- 更新实体映射命名空间引用
|
2026-07-03 15:58:58 +08:00 |
|
xiangning
|
8f85a2d3c8
|
refactor(file): 移除bucket参数并使用默认桶解析器
- 移除AbortMultipartCommand中的BucketName参数
- 移除CompleteMultipartCommand中的BucketName参数
- 移除DeleteFileCommand中的BucketName参数
- 移除DownloadFileQuery中的BucketName参数
- 移除GetFileContentQuery中的BucketName参数
- 移除GetFilePreviewQuery中的BucketName参数
- 移除GetOfficePreviewQuery中的BucketName参数
- 移除InitMultipartCommand中的BucketName参数
- 在各处理器中注入IBucketResolver并获取默认桶
- 更新所有相关端点和请求模型移除bucket参数
- 修改测试代码适配参数变更
- 添加IM离线消息到平台通知中心的跨模块集成实现
|
2026-07-03 13:32:08 +08:00 |
|
xiangning
|
e6b65b6f8f
|
feat(file): 添加根级文件查询功能
- 新增 GetRootFilesEndpoint 端点,支持 GET /api/files/root 请求
- 添加 GetRootFilesQuery 查询对象用于获取根级文件
- 实现 GetRootFilesQueryHandler 处理器,查询 FolderId 为 null 的文件
- 统一根目录与子文件夹的数据源,均使用数据库而非 S3 列表
- 修复集成测试中的 MongoDB 访问方式,改用 MongoDB.Entities 静态 DB.Default
- 更新权限配置,使 Admin 角色拥有全部权限而非仅部分权限
|
2026-07-03 12:14:36 +08:00 |
|
xiangning
|
8e3878b9ff
|
```
test(chat): 更新消息发送命令处理器测试配置
- 移除 MongoDB 集合模拟,改为使用真实数据库连接
- 添加本地 MongoDB 测试连接字符串常量
- 在静态构造函数中初始化 MongoDB.Entities 静态连接
- 简化构建处理器方法,移除不必要的 Mock 对象
- 更新注释说明测试策略从模拟转向真实数据库
```
|
2026-07-03 11:50:15 +08:00 |
|
xiangning
|
bdd1ad39bb
|
fix: PlatformInfrastructureModule 补 UseSnakeCaseNamingConvention
根因:PlatformDbContext 注册时缺少 UseSnakeCaseNamingConvention,
导致 EF 查询用 PascalCase 列名("Id")但实际表是 snake_case("id"),
报 column u.Id does not exist。
|
2026-07-03 11:47:37 +08:00 |
|
xiangning
|
69593b2b5f
|
fix: 统一 DesignTimeFactory + 补全 migration + MongoDB 版本对齐
- 5 个 DesignTimeFactory 统一硬编码连接串(不依赖旧 Api 路径)
- file/im Infrastructure 补 EFCore.NamingConventions 包
- IM.Tests MongoDB.Driver 3.4.0 → 3.8.1(与 Infrastructure 一致)
- workflow 删空 Migrations 目录(实际在 Persistence/Migrations/)
- platform/workflow 建表 SQL 已在服务器执行
- build 0/0
|
2026-07-03 11:18:55 +08:00 |
|
xiangning
|
bdde5b9b8a
|
refactor(file): 重构文件删除逻辑确保S3与数据库同步清理
- 删除文件时先删S3对象再删FileMeta记录,防止出现孤儿文件或残留对象
- 在DeleteFileCommandHandler中注入FileDbContext以支持数据库操作
- 更新文件删除逻辑:精确匹配bucket+key删除对应的FileMeta记录
- 添加DatabaseInitializer类统一处理启动期数据库初始化流程
- 将原有的数据库迁移、种子数据等逻辑抽取到独立的初始化服务中
- 新增HostObjectAccessors类简化ABP与ASP.NET Core管线的双向访问配置
- 添加平台模块废弃权限清理功能,移除OrderManagement分组的残留权限
- 实现完整的单元测试覆盖文件删除的各种场景和边界情况
|
2026-07-03 09:42:05 +08:00 |
|
xiangning
|
ff895628e5
|
refactor: 拆分 platform 模块(Auth/Users/Roles/Permissions/Menus/Notifications 从 rag 独立)
- 新建 modules/platform 三层模块(Domain/Application/Infrastructure)
- 搬入 8 个实体(User/Role/Permission/UserRole/RolePermission/RefreshToken/Menu/Notification)
- 新建 PlatformDbContext(连 platform 库)+ 8 个 EF 配置 + SeedData
- 搬入 92 个 Application CQRS 文件 + 57 个 Host Endpoints
- RagDbContext 瘦身:只留 RAG 专属表(KnowledgeBase/Document/ChatMessage/Conversation)
- Handler 注入改为 PlatformDbContext
- appsettings 新增 DatabaseNames:Platform
- BuildFlowHostModule 注册 PlatformDbContext + DependsOn PlatformApplicationModule
- Conversation 实体去掉 User 导航(跨模块不直接引用实体)
- rag SeedData 清空(平台种子归 platform)
- 暂移除测 platform 功能的 Rag.Tests(后续建 platform 测试项目)
- build 0/0
|
2026-07-02 18:22:17 +08:00 |
|
xiangning
|
52383d83f3
|
style: 目录统一 PascalCase 驼峰
- build-flow.host → BuildFlow.Host(子目录也驼峰:Configuration/Endpoints/Hubs/Services)
- build-flow.shared → BuildFlow.Shared
- build-flow.slnx → BuildFlow.slnx
- 同步所有 slnx/ProjectReference/run-dev.sh/架构测试 路径
- 删 macOS 大小写残留重复目录(旧 BuildFlow.Host/BuildFlow.Shared 空壳)
- build 0/0
|
2026-07-02 17:52:39 +08:00 |
|
xiangning
|
21b344d954
|
style: BuildFlow.slnx → build-flow.slnx(文件名小写)
- 解决方案文件名改为小写
- 架构测试 FindRepoRoot 同步改文件名查找
|
2026-07-02 17:47:31 +08:00 |
|
xiangning
|
6f8ff793c5
|
refactor: 目录名统一小写(BuildFlow.Host→build-flow.host,BuildFlow.Shared→build-flow.shared)
- src/BuildFlow.Host → src/build-flow.host
- src/shared/BuildFlow.Shared → src/shared/build-flow.shared
- 同步改 slnx/ProjectReference/run-dev.sh 路径
- csproj 文件名 + AssemblyName/RootNamespace 保持 PascalCase(.NET 规范)
- build 0/0
|
2026-07-02 17:41:57 +08:00 |
|
xiangning
|
0bb76f2a96
|
refactor: 删除 SSO 模块(认证改为 Host 本地签名)
- 删 src/modules/sso/(106 文件)+ tests/BuildFlow.SSO.Tests/
- 删 src/modules/order/(空目录)
- slnx 去掉 sso/order 项目
- 架构测试去掉 SSO 相关(IsSsoPath 排除 + SsoApi 测试)
- appsettings Jwt 去掉 Authority(不再依赖 SSO JWKS,用本地 SigningKey)
- Host 认证用 AddSharedJwtAuthentication(本地 HS256 签名,自洽)
- build 0/0
|
2026-07-02 17:32:27 +08:00 |
|
xiangning
|
17b7e9996e
|
chore(dependencies): 移除未使用的 using 语句
- 从多个文件中移除未使用的 System.Linq.Dynamic.Core 引用
- 从多个文件中移除未使用的 Microsoft.EntityFrameworkCore 引用
- 从 IM 模块中移除未使用的 MongoDB.Driver.Linq 引用
- 清理 Handler 文件中的冗余命名空间引用
- 优化代码结构减少不必要的依赖引入
- 提高代码整洁性和编译效率
|
2026-07-02 14:53:56 +08:00 |
|
xiangning
|
d738166261
|
feat: BuildFlow 后端初始化(.NET 10 模块化单体)
|
2026-07-02 10:54:23 +08:00 |
|