dev_na #1

Merged
chenh merged 262 commits from dev_na into master 2026-09-04 09:00:30 +00:00
There is no content yet.
chenh added 262 commits 2026-09-04 09:00:09 +00:00
1a392d96b9 feat(layout): 添加音频、热词和提示词菜单项并优化布局结构
- 在AppLayout中添加AudioOutlined、TagsOutlined和BulbOutlined图标
- 为audio、hotword和prompt路由配置对应的菜单图标映射
- 重构菜单项生成逻辑,使用useMemo优化性能并修复TDZ错误
- 在菜单树查找函数中添加数组验证防止运行时错误
- 添加新业务模块数据库表:声纹发言人表、热词管理表和提示词模板表
- 更新租户ID字段的自动填充逻辑和权限过滤配置
- 在认证流程中添加displayName和pwdResetRequired字段支持
- 添加React Markdown依赖用于内容渲染功能
21b3ab3afc feat(business): 添加AI模型配置功能实现
- 新增AiModel实体类定义数据库表结构
- 实现AI模型的增删改查REST API接口
- 添加前端AI模型管理页面支持配置展示
- 实现ASR和LLM两种模型类型的区分管理
- 添加模型远程列表获取和验证功能
- 实现默认模型设置和租户权限控制
- 新增AiTask实体用于AI任务调度管理
- 实现AI任务异步处理服务逻辑
- 添加会议转录和总结的完整处理流程
f6ba04ebd8 Merge branch 'refs/heads/master' into dev_na
# Conflicts:
#	backend/src/main/java/com/imeeting/auth/JwtAuthenticationFilter.java
#	backend/src/main/java/com/imeeting/controller/DictItemController.java
#	backend/src/main/java/com/imeeting/service/impl/AuthServiceImpl.java
70e739818a feat(hotword): 实现热词权限管理和搜索功能
- 添加管理员权限判断方法支持平台管理员和租户管理员
- 实现公开热词仅管理员可创建、修改、删除的权限控制
- 支持私有热词本人或管理员可操作的权限验证
- 添加前端搜索类型筛选功能支持公开/私有分类
- 更新前端权限检查逻辑统一使用管理员身份判断
- 修复后端查询构造器逻辑确保权限过滤正确执行
- 添加租户管理员身份到JWT认证信息中
- 配置数据访问层忽略租户隔离注解优化查询性能
5e4a2aa2d1 feat(layout): 添加声纹注册菜单项并重构仪表板页面
- 在应用布局的导航菜单中添加声纹注册功能入口
- 重构仪表板页面实现动态数据加载和实时任务状态显示
- 实现会议任务的分步处理进度可视化展示
- 优化声纹注册页面的用户体验和交互流程
- 完善会议管理的权限控制逻辑
- 实现仪表板统计数据的实时轮询更新
eaadc4ee51 feat: 添加会议创建事件和任务调度监听器
- 新增 `MeetingCreatedEvent` 事件类
- 实现 `MeetingTaskDispatchListener` 监听器,处理会议创建后的任务调度
- 更新 `MeetingServiceImpl` 发布会议创建事件
- 新增 `DashboardController` 提供仪表板统计和最近会议接口
- 更新 `SpeakerController` 和 `SpeakerServiceImpl` 支持声纹注册调用外部接口
- 添加测试配置文件 `application-test.yml`
- 优化 `WebConfig` 配置上传路径
- 更新前端 API 封装 `dashboard.ts`
80a4682757 feat: 添加声纹识别开关和优化模板管理权限
- 在会议创建页面添加声纹识别开关
- 优化提示模板的权限管理,区分平台级、租户级和个人级
- 更新后端逻辑处理不同层级的模板权限
- 重构前端模板选择界面,增强用户体验
- 添加热词权重显示并更新数据库表结构
- 修复和优化多处代码逻辑和样式问题
37025d3f02 feat: 添加会议进度显示和优化任务处理逻辑
- 在前端添加会议进度显示组件
- 优化后端任务调度逻辑,增加轮询锁防止并发执行
- 更新ASR和LLM任务处理流程,同步进度到Redis
- 重构会议详情页,展示AI分析进度和状态
- 修复和优化多处代码逻辑和样式问题
35396104a0 Merge branch 'refs/heads/master' into dev_na
# Conflicts:
#	backend/src/main/java/com/imeeting/mapper/SysUserRoleMapper.java
afff8a8d07 feat: 添加会议总结测试用例和优化前端会议卡片显示
- 在后端添加 `SummaryTest` 测试类,实现会议总结功能的分步测试
- 重构前端会议卡片组件,集成进度背景和状态标签
- 优化会议卡片样式和交互体验,增加呼吸灯效果和详细信息展示
423327c61d feat: 优化会议创建表单和卡片显示
- 重构会议创建表单,增加录音上传、AI分析配置和参会人员选择
- 更新会议卡片组件,集成进度背景和状态标签,优化样式和交互体验
- 增加分页功能和多语言支持
- 修复和优化多处代码逻辑和样式问题
11ab76f2ed feat: 优化会议创建表单和卡片显示
- 重构会议创建表单,增加录音上传、AI分析配置和参会人员选择
- 更新会议卡片组件,集成进度背景和状态标签,优化样式和交互体验
- 增加分页功能和多语言支持
- 修复和优化多处代码逻辑和样式问题
0ccf0aa87d feat: 优化ASR任务接管逻辑和前端多语言支持
- 在后端实现ASR任务接管逻辑,支持恢复未完成的任务
- 添加前端多语言支持,引入 `react-i18next` 库
-
86b3616786 feat: 重构会议和任务模型,优化ASR和总结任务处理逻辑
- 移除 `Meeting` 实体中的 `asrModelId`, `summaryModelId`, `promptContent`, `useSpkId`, `hotWords`, `summaryContent` 字段,新增 `latestSummaryTaskId` 字段
- 更新数据库表结构,移除相关字段并添加 `latest_summary_task_id` 字段
- 在 `AiTask` 实体中新增 `task_config` 和 `result_file_path` 字段
- 重构 `AiTaskServiceImpl` 中的 ASR 和总结任务处理逻辑,支持任务配置和结果文件路径
- 重构 `MeetingServiceImpl` 中的会议创建和更新逻辑,分离 ASR 和总结任务
- 优化 `PromptTemplateServiceImpl`,新增用户模板状态管理功能
364e49b3df feat: 重构AI模型控制器和服务,支持ASR和LLM模型类型
- 更新 `AiModelController` 中的保存、更新和删除方法,增加模型类型校验
- 重构 `AiModelServiceImpl`,分离ASR和LLM模型处理逻辑
- 更新数据库表结构,新增 `biz_asr_models` 和 `biz_llm_models` 表
- 添加前端API接口,支持按类型删除AI模型
d8bfdb21fa feat: 增加实时会议功能并优化数据库和API
- 增加实时会议的创建、追加转录和完成接口
- 更新 `MeetingDTO` 和 `MeetingVO`,添加可选字段 `summaryModelId`, `useSpkId`, `hotWords`
- 增加 `RealtimeTranscriptItemDTO` 接口
- 延长HTTP客户端连接超时时间至300秒
- 优化数据库表结构,新增 `biz_prompt_template_user_config` 表
- 更新系统参数和权限配置
653a9f7ef4 feat: 添加实时会议和主页组件
- 新增 `RealtimeAsr` 组件,用于创建和配置实时会议
- 新增 `HomePage` 组件,展示最近的会议记录和快速入口
- 新增 `RealtimeAsrSession` 组件,用于实时会议的会中识别和转录
92e6b9fd4d feat: 添加角色数据权限管理功能
- 在 `zh-CN.json` 中新增与Bot凭证相关的国际化字符串
- 在 `index.tsx` 中添加数据权限管理标签页,支持自定义部门选择
- 更新API接口,新增获取和保存角色数据权限的方法
- 重构角色选择逻辑,加载角色时同时获取权限和数据权限信息
- 优化用户绑定和权限保存操作的提示信息
4ee7a620b9 refactor: 删除MeetingCreate页面并更新主页和AI模型服务
- 删除 `MeetingCreate` 页面及其相关代码
- 更新主页组件,替换静态视觉元素为动态 `RightVisual` 组件
- 在 `AiModelService` 和 `AiModelController` 中添加本地连通性测试功能
- 重构 `AiModelServiceImpl`,增加验证和配置更新逻辑
12c79cdf26 refactor: 重构MeetingDetail页面,优化会议详情和智能分析展示
- 重构 `MeetingDetail` 组件,优化会议详情和智能分析的展示
- 增加关键词、全文概要、章节速览、发言总结、要点回顾和待办事项的展示逻辑
- 优化音频播放器和进度条功能
- 更新表单验证和数据处理逻辑
- 修复部分样式和布局问题
8dbed4c8e6 refactor: 优化MeetingDetail页面和后端时间处理逻辑
- 优化 `MeetingDetail` 页面的待办事项和侧边栏样式
- 更新 `AiTaskServiceImpl` 和 `MeetingSummaryFileServiceImpl`
ffc19fa572 feat: 添加关键词管理功能和会议转录编辑功能
- 在 `MeetingDetail` 页面中添加关键词选择和一键加入热词的功能
- 增加会议转录的编辑和保存功能
- 更新后端接口和相关服务,支持更新会议转录内容
60754bbd26 feat: 添加会议转录编辑组件和优化关键词处理
- 在 `MeetingDetail` 页面中添加 `ActiveTranscriptRow` 组件,支持会议转录的编辑和保存
- 优化关键词处理逻辑,移除重复代码并
9d1a8710af feat: 增加实时会议配置选项和WebSocket支持
- 在 `RealtimeAsr` 组件中添加语言、标点、ITN、文本修正和音频保存等配置选项
- 添加构建WebSocket URL的函数 `buildRealtimeProxyPreviewUrl`
- 更新 `meeting.ts` API,增加 `openRealtimeMeetingSocketSession` 接口
- 更新 `vite.config.ts`,添加WebSocket代理配置
- 优化 `RealtimeAsrSession` 组件,处理WebSocket消息并支持新的配置选项
f9c0d31b87 feat: 添加实时会议WebSocket支持和相关服务
- 创建 `RealtimeMeetingSocketSessionService` 及其实现类,用于创建和获取实时会议会话
- 添加 `WebSocketSecurityConfig` 以配置WebSocket安全
- 创建 `RealtimeMeetingProxyWebSocketHandler` 处理WebSocket消息代理
- 配置 `RealtimeMeetingWebSocketConfig` 注
552e2255bd feat: 添加文本修正功能和相关配置选项
- 在 `CreateMeetingCommand` 和 `meeting.ts` 中添加 `enableTextRefine` 字段
- 更新 `AiTaskServiceImpl` 和 `MeetingCommandServiceImpl` 以支持文本修正配置
- 在 `Meetings.tsx` 中添加文本修正的表单选项和默认值
a611ac2b61 feat: 添加文本修正功能和相关配置选项
- 在 `CreateMeetingCommand` 和 `meeting.ts` 中添加 `enableTextRefine` 字段
- 更新 `AiTaskServiceImpl` 和 `MeetingCommandServiceImpl` 以支持文本修正配置
- 在 `Meetings.tsx` 中添加文本修正的表单选项和默认值
3a7baa0341 feat: 添加实时会议会话状态管理和WebSocket控制功能
- 创建 `RealtimeMeetingSessionStateService` 及其实现类,管理实时会议会话状态
- 添加 `RealtimeMeetingSessionExpirationListener` 监听器,处理会话过期事件
- 更新前端API和组件,支持获取和控制实时会议会话状态
- 在 `RealtimeAsrSession` 组件中添加暂停和恢复识别的功能
f0d63c97a3 feat: 添加Android实时会议gRPC服务和相关实现
- 定义 `common.proto` 和 `realtime_meeting.proto`,包含客户端认证、错误事件和实时会议相关的gRPC消息
- 实现 `AndroidGatewayPushServiceImpl`,处理设备注册、注销和消息推送
- 实现 `AndroidDeviceSessionServiceImpl`,管理设备会话状态和心跳更新
- 实现 `AsrUpstreamBridgeServiceImpl`,桥接ASR上游服务并处理音频流
- 实现 `AndroidRealtimeSessionTicketServiceImpl`,创建和获取实时会议会话票据
- 定义 `gateway.proto`,包含网关服务的消息定义
578359a0d3 feat: 添加声纹库管理功能和相关API
- 在 `Speaker` 实体中添加 `creatorId` 和 `externalSpeakerId` 字段
- 更新数据库表 `biz_speakers`,添加 `creator_id` 和 `external_speaker_id` 字段,并创建相应索引
- 在 `SpeakerService` 中添加 `listByCreator` 和 `deleteSpeaker` 方法
- 更新前端API和组件,支持声纹注册、删除和列表查询
- 优化声纹注册逻辑,支持第三方声纹服务的调用和状态更新
5da9a97d55 feat: 添加声纹库管理功能和相关API
- 在 `Speaker` 实体中添加 `creatorId` 和 `externalSpeakerId` 字段
- 更新数据库表 `biz_speakers`,添加 `creator_id` 和 `external_speaker_id` 字段,并创建相应索引
- 在 `SpeakerService` 中添加 `listByCreator` 和 `deleteSpeaker` 方法
- 更新前端API和组件,支持声纹注册、删除和列表查询
- 优化声纹注册逻辑,支持第三方声纹服务的调用和状态更新
4f42fb50ad feat: 添加分页查询和前端搜索功能
- 在 `SpeakerController` 中添加分页查询接口
- 在 `SpeakerServiceImpl` 中实现分页查询逻辑
- 更新前端API和组件,支持分页查询和按名称搜索声纹记录
d780278da4 refactor: 移除Android API和WebSocket安全配置,更新应用配置
- 删除 `AndroidApiSecurityConfig` 和 `WebSocketSecurityConfig` 类
- 更新 `application.yml`,添加 `/api/android/**` 和 `/ws/**` 到 `permit-all-urls`
3cd1c48bce refactor: 优化首页布局和样式
- 简化首页布局,移除不必要的视觉元素
- 更新 `RightVisual.less` 和 `index.less`,调整样式和动画
- 在 `index.html` 中添加 Google Fonts 链接
- 更新 `index.tsx`,简化组件结构并优化内容展示
ff47c34349 refactor: 优化首页布局和样式
- 更新 `RightVisual.less` 和 `index.less`,调整响应式布局和样式
- 改进背景视觉元素的自适应性和动画效果
- 调整颜色和字体以提升UI/UX体验
24c3835b79 feat: 添加实时会议配置选项和会话状态批量查询功能
- 在 `CreateRealtimeMeetingCommand` 中添加 `mode`, `language`, `enablePunctuation`, `enableItn`, `enableTextRefine`, 和 `saveAudio` 字段
- 更新 `MeetingCommandServiceImpl` 以支持新的实时会议配置选项
- 添加 `getRealtimeSessionStatuses` 接口,支持批量查询实时会议会话状态
- 更新前端API和组件,支持新的配置选项和批量查询功能
135203b9f6 feat: 添加实时会议创建和验证测试
- 添加 `MeetingCreateCommandValidationTest` 以验证创建会议命令的必填字段
- 添加 `MeetingRuntimeProfileResolverImplTest` 以测试运行时配置解析
- 添加 `MeetingCommandServiceImplTest` 以测试会议命令服务的逻辑
- 添加 `AndroidAuthServiceImplTest` 以测试 Android 认证服务
- 更新 `MeetingCommandService` 接口,添加 `saveRealtimeTranscriptSnapshot` 和更新 `completeRealtimeMeeting` 方法
- 在 `AndroidMeetingRealtimeController` 中添加创建实时会议的 API 端点
- 定义 `AndroidCreateRealtimeMeetingCommand` 和 `AndroidCreateRealtimeMeetingVO` 数据传输对象
21c38355c3 feat(frontend): 添加Antd App组件和配置更新
- 将全局message替换为App.useApp以支持Antd 5.x静态方法
- 更新vite代理配置指向新后端地址
- 添加baseUrl到tsconfig.json支持路径别名
- 统一Card组件使用variant="borderless"替代bordered={false}
- 移除AppLayout中的菜单loading属性
- 优化热词表格显示,添加文本省略
- 更新Drawer组件的destroyOnClose为destroyOnHidden
- 添加前端.gitignore文件
- 更新分页组件size配置为default
- 修复会议详情页面总结更新参数传递问题
- 移除实时识别创建页面路由,整合到会议列表
- 添加生产环境配置文件到target目录
- 更新字体文件到资源目录
更新首页样式
c802f63ada fix(frontend): 修复多个抽屉和模态框组件渲染问题
为多个抽屉和模态框组件添加 forceRender 属性,确保表单字段在隐藏后重新显示时能正确渲染
修复会议详情页转录时间线显示问题,移除多余的时间戳元素
优化实时ASR会话页面的UI布局和交互设计
e83a0ece32 feat(首页): 优化最近会议布局并调整创建会议表单
- 将最近会议网格布局从3列改为4列,并添加响应式设计
- 调整首页标题为"最近会议",优化查看全部按钮样式和布局
- 移除热词选择功能,简化创建会议表单
- 默认启用声纹区分功能,优化高级设置面板视觉样式
- 修复创建会议时表单初始化逻辑
b2e2f2c46a feat: 增强实时会议gRPC服务和会话状态管理
- 在 `MeetingCommandServiceImpl` 中更新 `saveRealtimeTranscriptSnapshot` 方法,仅保存最终结果
- 在 `GrpcServerLifecycle` 中添加 `GrpcExceptionLoggingInterceptor`
- 在 `RealtimeMeetingSessionStateServiceImpl` 中添加终端状态处理逻辑
- 在 `RealtimeMeetingGrpcService` 中增强错误处理和流关闭逻辑
- 添加 `saveRealtimeTranscriptSnapshotShouldIgnoreNonFinalTranscript` 测试用例
- 在 `MeetingAuthorizationServiceImpl` 中添加匿名访问支持
- 在 `RealtimeMeetingGrpcSessionServiceImpl` 中添加异常处理和清理逻辑
1c82365e97 feat: 增强实时会议gRPC服务和会话状态管理
- 在 `MeetingCommandServiceImpl` 中更新 `saveRealtimeTranscriptSnapshot` 方法,仅保存最终结果
- 在 `GrpcServerLifecycle` 中添加 `GrpcExceptionLoggingInterceptor`
- 在 `RealtimeMeetingSessionStateServiceImpl` 中添加终端状态处理逻辑
- 在 `RealtimeMeetingGrpcService` 中增强错误处理和流关闭逻辑
- 添加 `saveRealtimeTranscriptSnapshotShouldIgnoreNonFinalTranscript` 测试用例
- 在 `MeetingAuthorizationServiceImpl` 中添加匿名访问支持
- 在 `RealtimeMeetingGrpcSessionServiceImpl` 中添加异常处理和清理逻辑
b9593324a5 feat: 增强会议配置解析和日志级别设置
- 在 `MeetingCommandServiceImpl` 中引入 `MeetingRuntimeProfileResolver`,解析并应用运行时配置
- 更新 `application-dev.yml` 和 `application.yml`,添加日志级别配置和新的数据库表
53ff2292a8 feat: 添加重新识别会议转录功能
- 在 `MeetingCommandServiceImpl` 中添加 `retryTranscription` 方法,用于重新提交转录任务
- 更新 `MeetingCommandService` 接口,添加 `retryTranscription` 方法
- 在 `MeetingController` 中添加 `retryTranscription` API 端点
- 更新前端API和组件,支持重新识别会议转录
- 添加相关单元测试以验证新功能的正确性
5f895bfe26 feat: 增加音频上传超时和进度显示
为音频文件上传接口增加超时设置,防止大文件上传时请求超时。在 speaker 注册接口设置 2 分钟超时,在会议音频上传接口设置 5 分钟超时。同时为上传音频功能添加真实的进度回调,替换模拟进度,提升用户体验。

在首页点击创建会议按钮时,改为直接打开创建抽屉,而不是跳转到会议页面再打开,简化用户操作流程。
dffd33206a feat: 添加旧版Android API支持和日志配置
- 添加 `ApiResponseSuccessCodeAdvice` 以处理旧版成功代码
- 添加 `LegacyMeetingCreateRequest`, `LegacyApiResponse` 和相关控制器
- 添加 `GrpcExceptionLoggingInterceptor` 以增强gRPC异常日志记录
- 更新 `application.yml`,移除 `/api/android/**` 的安全配置
- 更新前端API和组件,修复字段名称和代理配置
- 添加日志配置文件 `logback-spring.xml` 以支持日志滚动和格式化
3b7ba2c47a feat: 添加旧版Android API支持和相关测试
- 添加 `LegacyMeetingAttendeeResponse`, `LegacyMeetingPreviewDataResponse`, `LegacyExternalAppItemResponse`, `LegacyClientDownloadResponse` 等DTO
- 添加 `LegacyCatalogAdapterService` 接口及其实现
- 添加 `MeetingAuthorizationServiceImplTest`, `RealtimeMeetingSessionStateServiceImplTest`, `RealtimeMeetingGrpcServiceTest`, `LegacyMeetingAdapterServiceImplTest` 单元测试
- 添加 `ClientDownload` 和 `ExternalApp` 实体类
- 添加 `ApkManifestParser` 工具类
b2430abe73 refactor: 统一使用全局租户ID并优化客户端和外部应用管理页面
- 在 `ClientDownloadServiceImpl` 和 `ExternalAppServiceImpl` 中使用 `GLOBAL_TENANT_ID`
- 移除 `requireOwned` 方法中的租户ID检查,更新为 `requireExisting`
- 更新前端 `ClientManagement` 和 `ExternalAppManagement` 页面,优化平台选项和状态过滤
- 添加数据字典驱动的平台分组和选项加载逻辑
- 修复前端组件中的字段名称和代理配置问题
6d46998abe feat: 增强旧版会议控制器功能和相关测试
- 添加 `StringRedisTemplate` 和 `ObjectMapper` 依赖
- 更新 `buildListItem` 方法以构建会议列表项
- 增加实时进度解析和处理逻辑
- 优化会议预览数据响应构建
- 添加并更新相关单元测试以验证新功能的正确性
2b30744d2e feat(ui): 统一全局分页组件并优化布局样式
- 新增 AppPagination 组件,统一分页样式与行为
- 将多个页面的自定义分页替换为标准分页组件
- 修复布局容器高度计算问题,确保内容区域正确滚动
- 调整表格容器样式,支持响应式布局和水平滚动
- 优化国际化配置,支持 Ant Design 组件多语言
- 统一分页边距和边框样式,提升视觉一致性
db310fc803 feat: 添加会议预览功能和相关UI组件
- 在 `MeetingAccessService` 中添加 `isPreviewPasswordRequired` 和 `assertCanPreviewMeeting` 方法
- 在 `PromptTemplateVO` 和 `PromptTemplateDTO` 中添加 `description` 字段
- 在前端添加 `meetingAnalysis.ts` 以处理会议分析数据
- 在 `PromptTemplates.tsx` 中显示模板描述
- 添加 `MeetingPreview.tsx` 组件,支持会议预览和密码验证
017e1d2ded feat: 添加旧版Android API支持和会议预览功能
- 添加 `LegacyLoginResponse`, `LegacyRefreshTokenResponse`, `LegacyLoginUserResponse` 和 `LegacyMeetingTagResponse` DTO
- 添加 `LegacyAuthController` 以处理旧版登录和刷新令牌请求
- 更新 `MeetingAccessServiceImpl` 中的异常信息为英文
- 在前端 `MeetingPreview.tsx` 中添加多语言文本和分享功能
caf2e22df0 chore: 更新代理配置并替换分页组件
- 更新 Vite 代理配置中的后端服务器地址和端口
- 将 ExternalAppManagement 和 ClientManagement 页面中的自定义分页逻辑替换为统一的 AppPagination 组件
- 移除表格内嵌的滚动样式,使分页组件独立于表格布局
712d31d911 feat: 添加会议访问密码功能和相关UI组件
- 在 `MeetingCommandServiceImpl` 中添加 `normalizeAccessPassword` 方法,处理访问密码
- 在 `MeetingVO` 和 `UpdateMeetingBasicCommand` 中添加 `accessPassword` 字段
- 在前端 `MeetingPreview.tsx` 和 `MeetingDetail.tsx` 中添加访问密码输入和预览链接生成逻辑
- 在 `MeetingPublicPreviewController` 中移除预览响应中的访问密码
- 在 `LegacyAuthController` 中添加异常处理,返回错误信息
- 更新相关前端API和组件,支持访问密码功能
5a5f71d465 feat(会议预览): 增强分享弹窗样式并添加音频播放器
- 为会议分享弹窗添加渐变背景和卡片样式
- 在会议预览页面添加自定义音频播放器,支持播放/暂停、进度控制和倍速切换
- 优化转录文本的显示布局,将发言人头像和时间信息整合到内容区域
- 更新免责声明文本,明确AI生成内容的性质
- 调整会议详情页的关键词选择交互,使用勾选图标替代复选框
- 统一多个页面的配色方案,使用主色调变量
276f9aa188 style(layout): 优化页脚样式,移除冗余装饰元素
- 调整页脚内边距,移除背景透明设置,使用卡片背景色并添加顶部边框
- 简化页脚内容容器样式,移除圆角、边框和毛玻璃效果
- 调整文字颜色为次要文本色,减少间距,优化视觉层次
- 更新分隔符颜色以匹配边框颜色变量
4194b9afe6 style(frontend): 统一会议中心页面样式与布局
调整会议中心页面的卡片与布局结构,使用一致的样式类名并优化间距。
移除 List.Item 的底部边距,使卡片间距完全由网格控制。
将分页组件移至内容卡片内部,提升整体布局一致性。
29a4be912d style(ui): 替换分析标签组件为自定义样式实现
移除对 Ant Design Segmented 组件的依赖,改用自定义 div 实现标签切换。这提供了更精细的样式控制,优化了视觉外观和交互反馈,并消除了不必要的第三方组件依赖。
48dd7d1150 style(MeetingPreview): 调整分析标签页布局为弹性等宽
将标签页容器设为 display: flex 并移除滚动条,为每个标签页添加 flex: 1 以实现等宽分布,同时优化内边距和文本对齐
0960e625f9 feat(ui): 优化页面标题组件和业务管理页面的视觉设计
重构 PageHeader 组件,移除冗余的 Space 导入,使用内联样式替代 Tailwind 类以提供更灵活的布局控制。同时,为外部应用管理和客户端管理页面引入全新的卡片设计,包括圆角、渐变背景、毛玻璃效果和自定义间距,以提升视觉层次感和现代感。调整按钮样式,统一圆角和高度,增强整体 UI 的一致性。
d4424a157b feat: 增加会议上传超时配置并优化分页选项
- 在 `meeting.ts` 中添加 `MEETING_UPLOAD_FLOW_TIMEOUT` 配置,并应用于 `createMeeting` 和 `uploadMeeting` 请求
- 在 `AppPagination` 组件中增加 `8` 作为分页选项之一
- 优化 `Meetings.tsx` 和 `MeetingDetail.tsx` 的导入和状态初始化逻辑
27ae0a3def feat: 添加用户提示支持和优化会议访问逻辑
- 在 `MeetingCommandService` 和 `MeetingDomainSupport` 中添加 `userPrompt` 参数
- 在 `MeetingAccessService` 和 `MeetingQueryService` 中添加忽略租户的会议查询方法
- 更新前端API和组件,支持用户提示功能
- 优化会议访问逻辑,包括预览密码验证和角色管理页面
- 添加相关单元测试以验证新功能的正确性
9480d0e4bf feat(会议详情): 改进音频播放和转写交互体验
- 将会议预览页面的基本信息卡片合并到会议概览卡片,优化布局
- 为转写列表添加当前播放高亮和自动滚动功能
- 实现浮动音频播放器,随滚动保持可见
- 调整转写列表的响应式网格布局
6107e611f4 feat: 添加屏保管理页面和相关功能
- 在前端添加 `ScreenSaverManagement` 页面,支持屏保的创建、编辑、删除和状态切换
- 在 `AiModelController` 中添加 Swagger 注解以描述 API 操作
- 在 `pom.xml` 中添加 `springdoc-openapi-starter-webmvc-ui` 依赖
- 更新 `role-permission` 和 `tenants` 页面的分页逻辑
- 在 `sys-params` 页面中使用 `ListTable` 组件并优化分页显示
900f092d5e feat: 添加屏保用户配置和相关功能
- 在 `ScreenSaverServiceImpl` 中添加用户状态配置逻辑
- 添加 `ScreenSaverUserConfig` 实体类和 `ScreenSaverUserConfigMapper` 映射器
- 更新 `LegacyMeetingAttendeeResponse`, `LegacyMeetingPreviewDataResponse`, 和 `LegacyMeetingProcessingStatusResponse` 以包含 Swagger 注解
- 添加 `ScreenSaverServiceImplTest` 单元测试
- 更新 `AndroidCreateRealtimeMeetingVO` 以包含 Swagger 注解
- 在 `AndroidAuthServiceImplTest` 中添加匿名认证测试
- 添加 `AndroidExternalAppController` 控制器
ce4743c5ea refactor: 更新用户页面组件和分页逻辑
- 优化 `index.tsx` 中的导入和表单字段
- 使用 `Table` 组件替换 `ListTable` 和 `AppPagination`
- 添加密码确认字段及其验证规则
- 调整工具栏和表格布局以提高一致性
940cc8a939 feat: 添加屏保用户播放设置和相关功能
- 在 `AndroidScreenSaverCatalogVO` 中添加 `displayDurationSec` 字段
- 移除 `ScreenSaver` 和 `AndroidScreenSaverItemVO` 中的 `displayDurationSec` 字段
- 更新 `ScreenSaverServiceImpl` 以支持用户播放设置
- 添加 `ScreenSaverUserSettings` 实体类和 `ScreenSaverUserSettingsMapper` 映射器
- 更新 `ScreenSaverSelectionResult` 以包含 `displayDurationSec`
- 更新数据库表结构以支持新的字段和表
- 更新单元测试以验证新功能的正确性
6a08fb1a3b feat: 添加LLM模型连通性测试功能
- 在 `AiModelServiceImpl` 中添加 `testLlmConnectivity` 方法,支持不同提供商的连通性测试
- 在 `AiModelController` 中添加 `/llm-connectivity-test` API 端点,用于测试 LLM 模型连通性
- 更新 `AiModelService` 接口以包含新的 `testLlmConnectivity` 方法
- 添加相关单元测试以验证连通性测试功能的正确性
324e283f41 refactor: 优化模型配置验证和测试逻辑
- 更新 `AiModelServiceImpl` 中的验证逻辑,改进错误信息
- 在 `pushAsrConfig` 方法中添加对空白 `apiKey` 的处理
- 添加单元测试以验证自定义 LLM 和 ASR 模型在没有 `apiKey` 时的行为
- 更新前端 `AiModels.tsx` 中的表单验证逻辑,移除 `apiKey` 的必填规则并添加警告提示
2d788bac75 feat: 添加热词组管理功能并优化热词控制器逻辑
- 在 `HotWordController` 中添加 `HotWordGroupService` 依赖,并更新相关方法以支持租户ID
- 重构权限校验逻辑,移除 `isCurrentUserAdmin` 方法,改为使用 `resolveTargetTenantId` 方法
b36a08adc7 feat: 添加热词组筛选功能并更新相关API和前端逻辑
- 在 `HotWords.tsx` 中添加热词组筛选选项,并更新 `useEffect` 依赖
- 更新 `hotword.ts` 和 `HotWordController.java` 以支持 `hotWordGroupId` 参数
- 在 `MeetingDetail.tsx` 中添加 `getPinyinSuggestion` API 调用,优化热词创建逻辑
29551dfbe2 feat: 添加会议音频上传支持和热词组管理功能
- 添加 `MeetingAudioUploadSupport` 类,支持音频文件上传和验证
- 在 `MeetingCommandServiceImpl` 中添加删除会议时清理相关数据和工件的逻辑
- 添加热词组相关的实体、服务、控制器和映射器
- 更新测试类以包含新的依赖和测试用例
8d0ef246f3 feat: 添加实时会议状态处理和转录内容检查
- 在 `AiTaskServiceImpl` 中添加 `buildTranscriptText` 和 `failPendingSummaryTask` 方法,用于构建转录文本和处理失败的摘要任务
- 更新 `doDispatchSummaryTask` 和 `dispatchTasks` 方法,以在转录内容为空时处理失败情况
- 在前端 `Meetings.tsx` 中添加实时会议状态处理逻辑,支持实时会议的暂停、进行中和待开始状态
- 更新测试类 `AiTaskServiceImplTest` 以包含新的测试用例,验证转录内容为空时的任务处理逻辑
4e38580258 feat: 添加实时会议状态处理和转录内容检查
- 在 `AiTaskServiceImpl` 中添加 `buildTranscriptText` 和 `failPendingSummaryTask` 方法,用于构建转录文本和处理失败的摘要任务
- 更新 `doDispatchSummaryTask` 和 `dispatchTasks` 方法,以在转录内容为空时处理失败情况
- 在前端 `Meetings.tsx` 中添加实时会议状态处理逻辑,支持实时会议的暂停、进行中和待开始状态
- 更新测试类 `AiTaskServiceImplTest` 以包含新的测试用例,验证转录内容为空时的任务处理逻辑
0b8014d1af feat: 添加会议来源平台控制和实时会议状态处理
- 在 `MeetingAccessService` 和 `MeetingCommandService` 中添加 `assertCanControlRealtimeMeeting` 方法,支持不同平台的实时会议控制
- 更新 `createMeeting` 和 `createRealtimeMeeting` 方法,以包含 `meetingSource` 参数
- 在前端 `Meetings.tsx` 和 `RealtimeAsrSession.tsx` 中添加对跨平台实时会议的控制逻辑
- 更新数据库表结构和文档,添加 `meeting_type` 和 `meeting_source` 字段
- 更新相关测试类以验证新的控制逻辑
99f5fd1cbd feat: 添加热词组筛选和分页功能
- 在 `HotWords.tsx` 中添加热词组筛选选项和分页逻辑
- 更新 `hotwordGroup.ts` 和后端相关控制器及服务以支持新的筛选参数
- 优化前端热词组列表的展示和交互逻辑
f6ffaddae1 refactor: 注释掉登录页的示例账户信息和相关测试代码
- 在 `login/index.tsx` 中注释掉示例账户信息
- 在 `LegacyMeetingAdapterServiceImplTest.java` 和 `MeetingCommandServiceImplTest.java` 中注释掉相关测试代码
a295a3b15b refactor: 优化会议访问密码更新逻辑和屏保实体字段策略
- 在 `LegacyMeetingController` 和 `AndroidMeetingController` 中使用 `LambdaUpdateWrapper` 更新会议访问密码
- 更新 `ScreenSaver` 实体的 `ownerUserId` 字段策略为 `ALWAYS`
- 添加相关测试用例以验证屏保实体字段策略和更新逻辑
- 优化 `AiModels.tsx` 中的提供商基础 URL 和表单占位符
2f80c6c55e refactor: 优化错误消息为中文
- 将多个服务和控制器中的英文错误消息替换为中文
- 更新测试用例以匹配新的错误消息
e6580beaa8 feat: 添加音频文件大小验证和系统参数配置
- 在 `MeetingAudioUploadSupport` 中添加 `validateFileSize` 方法,验证上传的音频文件大小
- 引入 `SysParamService` 以获取系统参数配置的最大上传大小
- 在前端 `MeetingCreateDrawer.tsx` 中添加文件大小验证逻辑,并显示系统配置的最大大小
5aefcf8d7d feat: 更新会议管理逻辑和界面
- 重构 `Meetings.tsx` 中的 `canManageRealtimeMeeting` 为 `canManageMeeting`,并更新相关调用
- 在会议卡片中添加创建人信息,并优化会议时间显示
- 增加权限检查,确保只有会议创建人或管理员可以编辑参会人
6600d37757 feat: 添加 M4A 文件验证和音频播放错误处理
- 在 `MeetingAudioUploadSupport` 中添加 M4A 文件验证逻辑,确保文件可播放
- 更新前端 `MeetingPreview.tsx` 和 `MeetingDetail.tsx` 以处理音频播放错误,并显示相应的警告信息
- 在 `WebMvcConfig` 中配置 M4A 媒
aaa2624fe2 feat: 添加音频预处理和播放支持
- 在 `application-dev.yml` 中添加 FFmpeg 路径配置
- 在 `MeetingCommandServiceImpl` 和 `MeetingQueryServiceImpl` 中更新 `fillMeetingVO` 方法签名,并在适当位置调用 `prewarmPlaybackAudioAfterCommit`
- 新增 `MeetingPlaybackAudioResolver` 类,用于处理音频文件的浏览器兼容性转换
- 在前端 `MeetingPreview.tsx` 和 `MeetingDetail.tsx` 中更新音频 URL 处理逻辑,使用新的 `resolveMeetingPlaybackAudioUrl` 方法
35698287de feat: 添加会议转录文件初始化和下载功能
- 在 `MeetingCommandServiceImpl` 和 `AiTaskServiceImpl` 中添加 `initializeTranscriptFileIfAbsent` 方法调用
- 在 `MeetingController` 中添加 `exportTranscripts` 接口,支持下载会议转录 Markdown 文件
- 更新前端 `meeting.ts` 和 `MeetingDetail.tsx` 以支持会议转录文件的下载
- 在相关测试类中添加对 `MeetingTranscriptFileService` 的 mock
a8b93a46f8 feat: 添加会议转录文件服务
- 新增 `MeetingTranscriptFileServiceImpl` 实现会议转录文件的初始化和导出功能
- 定义 `MeetingTranscriptExportResult` 数据传输对象,用于封装导出结果
- 定义 `MeetingTranscriptFileService` 接口,提供初始化和导出会议转录文件的方法
4904526e09 feat: 添加会议转录文件服务
- 新增 `MeetingTranscriptFileServiceImpl` 实现会议转录文件的初始化和导出功能
- 定义 `MeetingTranscriptExportResult` 数据传输对象,用于封装导出结果
- 定义 `MeetingTranscriptFileService` 接口,提供初始化和导出会议转录文件的方法
f20be9bcc6 refactor: 移除 Android gRPC 服务和相关测试代码
- 删除 `AndroidGatewayGrpcService` 及其依赖的 DTO 和接口
- 删除 `AndroidRealtimeGrpcManualTest` 手动测试类
- 删除与 Android 实时会议 gRPC 会话相关的数据传输对象和业务逻辑类
6445d429f8 refactor: 优化会议总结和详情页面布局
- 移除 `MeetingSummaryPromptAssembler` 中未使用的分析字段
- 更新前端 `MeetingDetail.tsx` 布局,移除不必要的组件并优化界面显示
- 重构会议详情页头部,引入 `PageHeader` 组件
- 优化关键词和讨论点的展示逻辑
- 简化会议总结编辑和导出功能的交互
aed87e8ad3 feat: 添加关键词高亮和跳转功能
- 在 `MeetingDetail.tsx` 中添加 `linkifySummary` 和 `MarkdownSummary` 组件,支持关键词高亮和虚拟链接
- 更新 `ActiveTranscriptRow` 组件以支持关键词高亮和自动滚动到匹配项
- 增加 `handleKeywordClick` 回调函数,处理关键词点击事件并跳转到相应位置
- 优化样式,添加高亮文本的动画效果和样式调整
5b4304a4b2 feat: 添加日志注解并更新相关操作描述
- 在多个控制器中添加 `@Log` 注解,记录新增、修改和删除操作
- 更新前端 `MeetingDetail.tsx` 中的按钮文本和注释
- 优化会议管理相关接口的日志记录
c0e973e5a9 refactor: 优化 Android gRPC 推送服务日志记录和错误处理
- 在 `AndroidPushGrpcService` 中添加详细的日志记录,包括连接、心跳、ACK 和错误处理
- 更新 `sendError` 方法以包含设备信息,并在日志中记录错误响应
- 在 `LegacyAuthController` 中添加租户 ID 设置逻辑
- 更新 `MeetingSummaryPromptAssembler` 中的提示词,明确关键词基于会议转写生成
- 移除 `AndroidAuthServiceImplTest` 测试类
eba6bf105e feat: 添加平台运行时信息和多租户支持
- 在 `auth.ts` 和 `platform.ts` 中添加获取平台运行时信息的 API
- 在 `AppLayout.tsx` 和 `login/index.tsx` 中处理平台运行时信息,并更新用户界面
- 在 `DeviceInfoMapper.java` 中添加忽略租户的更新方法
- 更新日志清理和模块获取的 API 以支持多租户
- 在 `tenants/index.tsx` 和 `logs/index.tsx` 中添加多租户相关的逻辑和 UI 改进
9b63a1ec4e feat: 引入PageContainer组件并重构页面布局
refactor: 使用PageContainer统一管理页面布局结构

style: 优化页面布局样式和响应式设计

chore: 添加批量导入和重构脚本

build: 新增PageContainer组件及相关依赖

docs: 更新页面布局相关文档

perf: 提升页面渲染性能和布局一致性
a34885111c feat: 添加会议章节导入和总结功能
- 在 `MeetingCommandService` 中添加 `importTranscriptChapters` 和 `finalizeSummary` 方法
- 更新 `MeetingSummaryPromptAssembler` 以支持章节模型和摘要源
- 在 `MeetingQueryService` 中添加获取章节和转录源的方法
- 新增 `MeetingSummaryFinalizeDTO` 和 `MeetingSummaryPromptContextVO` 数据传输对象
- 在 `MeetingCommandServiceImpl` 中实现章节导入和总结任务创建逻辑
- 更新前端 `meeting.ts` 以支持获取章节信息
38edf9dad6 refactor: 优化会议总结和关键词展示布局
- 移除 `linkifySummary` 和 `MarkdownSummary` 组件
- 优化关键词和讨论点的展示逻辑
- 重构会议总结编辑和导出功能的交互
- 更新样式以改善整体视觉效果
beab0edabe feat: 添加会议章节和目录功能
- 在 `PublicMeetingPreviewVO` 中添加 `chapters` 字段
- 更新 `MeetingPreview` 组件以支持章节和目录展示
- 添加新的 `pageCatalog` 选项卡,展示 AI 生成的目录
- 实现章节与转录内容的关联和跳转功能
- 优化关键词和总结内容的展示布局
1877c64cc2 fix(系统参数): 移除表格的onChange和totalCount属性并添加滚动条
表格配置中移除不再使用的onChange和totalCount属性,同时添加垂直滚动条以改善长列表的浏览体验
ccb408ade5 feat:优化会议转录和章节功能
- 更新 `MeetingTranscriptFileServiceImpl`,使用 Markdown 格式导出会议转录
- 在 `MeetingQueryServiceImpl` 中添加会议存在性检查,并调用 `listDisplayChapterAnalysis`
- 在 `MeetingCommandServiceImpl` 中更新会议进度信息
- 在前端 `http.ts` 和 `meeting.ts` 中添加 `suppressErrorToast` 选项
- 在 `MeetingVO` 中添加最近一次总结和章节尝试的任务状态及错误信息
- 更新 `MeetingDetail.tsx` 和 `Meetings.tsx`,处理生成失败的提示和展示逻辑
- 在 `MeetingTranscriptChapterService` 和 `MeetingTranscriptChapterServiceImpl` 中添加加载当前章节 Markdown 的方法
- 优化 `PageContainer` 和 `Meetings` 页面布局,改善滚动和内容展示
b9ec41095f feat: 添加会议MCP工具服务和优化章节查询
- 新增 `MeetingMcpToolService` 以提供会议列表、预览、详情和Markdown包
- 在 `MeetingQueryService` 中添加忽略租户的章节查询方法
- 更新 `MeetingPublicPreviewController` 以使用新的章节查询方法
a49888587f feat: 添加设备分页和搜索功能
- 引入 `ListTable` 和 `AppPagination` 组件
- 添加分页状态和处理函数
- 更新搜索逻辑以重置分页
- 重构表格列定义和数据加载逻辑
3469884bca refactor: 优化会议预览页面的密码输入界面和样式
- 更新密码提示和占位符文本
- 重构密码输入界面布局和样式
- 添加背景动画和视觉效果
- 优化移动端显示
51190f330c feat: 添加外部总结编排触发和失败处理功能
- 新增 `MeetingSummaryOrchestrationTriggerResultVO` 数据传输对象
- 实现 `MeetingExternalSummaryWebhookTrigger` 服务,用于触发外部 n8n 总结编排
- 在 `MeetingCommandServiceImpl` 中添加 `triggerExternalSummaryOrchestration` 和 `markExternalSummaryOrchestrationFailed` 方法
- 更新 `MeetingCommandService` 接口以支持新的方法
- 在 `AiTaskServiceImpl` 中添加 `triggerExternalSummaryWebhook` 方法
- 在 `MeetingController` 中添加手动触发外部 n8n 总结编排的 API
- 新增 `MeetingMarkdownBundleMcpToolProvider` 以提供会议 Markdown 包工具
f7480df565 feat: 添加总结详细程度选项和优化用户认证逻辑
- 在 `MeetingCommandService` 中添加 `summaryDetailLevel` 参数
- 更新 `MeetingSummaryPromptAssembler` 以支持不同详细程度的总结
- 在前端 `useAuth` 钩子中添加 `profileVersion` 状态,同步用户资料更新
- 优化密码重置流程,保持登录状态并更新用户资料
- 在 `Meeting` 实体中添加 `summaryDetailLevel` 字段
- 更新相关服务和控制器以处理新的总结详细程度选项
7d08234919 feat: 添加分页和优化会议任务处理逻辑
- 在前端 `Dashboard` 页面中添加分页功能
- 优化 `AiTaskServiceImpl` 中的 ASR 任务处理逻辑,支持任务恢复和失败处理
- 更新相关服务和组件以支持新的分页和任务处理逻辑
7989b6aa11 refactor: 优化会议创建按钮逻辑和生成进度显示
- 简化 `Meetings.tsx` 中的会议创建按钮逻辑
- 在 `MeetingDetail.tsx` 中添加 `MeetingStateNotice` 类型,并更新生成进度显示
- 优化生成失败提示和展示逻辑,增加对历史内容的支持
- 更新相关组件以支持新的生成进度和状态显示
188809305e feat: 添加 Redis 支持和优化会议进度管理
- 新增 `RedisValueSupport` 类,提供 Redis 操作支持
- 实现 `MeetingProgressServiceImpl` 服务,管理会议进度的读写操作
- 更新 `MeetingMcpToolService` 和 `MeetingCommandServiceImpl` 以使用新的进度服务
- 优化会议进度解析和状态更新逻辑
a046ecf05b refactor: 删除 MeetingTranscriptRevisionServiceImpl 类
- 移除 `MeetingTranscriptRevisionServiceImpl` 类及其相关方法和逻辑
- 该类涉及会议转录修订的生成、解析和更新等功能
892275bc65 refactor:优化 LegacyMeetingController 测试用例
- 重构 `LegacyMeetingControllerTest` 类,提升测试覆盖率和代码可读性
- 更新测试方法以验证不同场景下的响应数据和状态码
- 确保测试用例覆盖会议预览、列表和密码更新等功能
384494d9ff feat: 添加总结和章节任务重试功能并优化会议处理逻辑
- 在 `MeetingCommandServiceImpl` 中添加 `retrySummary` 和 `retryChapter` 方法,支持总结和章节任务的重试
- 更新 `MeetingCommandService` 接口以包含新的重试方法
- 优化 `executeSummaryFlow` 和 `doDispatchChapterTask` 方法,简化任务执行逻辑
- 更新 `finalizeSummary` 方法,移除不必要的章节版本检查
- 调整 `updateMeetingProgress` 的进度值和消息,更准确地反映任务状态
- 在前端 `MeetingDetail.tsx` 中添加重试按钮和相关逻辑,支持用户手动重试失败的任务
47ebeade20 refactor: 优化 `AndroidMeetingController` 中的包丢失率处理逻辑
- 引入 `RoundingMode` 以确保 `packetLossRate` 精度为两位小数
- 更新 `setPacketLossRate` 方法,使用 `setScale` 方法进行四舍五入处理
7f9c080bf7 feat: 添加请求日志记录并优化前端样式
- 在多个 Android 控制器中引入 `AndroidRequestLogHelper` 以记录请求日志
- 优化 `index.less` 和 `index.tsx` 文件,确保表格滚动和高度限制生效
92a12c4c81 feat: 添加会议完成推送功能并优化相关服务
- 引入 `AndroidMeetingPushService` 用于推送会议完成通知
- 在 `MeetingCommandServiceImpl` 和 `AiTaskServiceImpl` 中添加 `pushMeetingCompletedAfterCommitIfNeeded` 方法,确保事务提交后触发推送
- 更新 `MeetingInternalWorkflowController` 以支持手动触发会议完成推送和查询 gRPC 连接详情
- 新增 `MeetingPushTypeEnum` 枚举类,定义推送类型
- 优化 `AndroidGatewayPushService` 接口,添加用户级别的推送方法和连接快照功能
- 更新 `AndroidPushGrpcService` 和 `AndroidGatewayPushServiceImpl` 以支持新的注册参数和推送逻辑
8a082732df feat: 添加 ASR 任务重新调度功能并优化代理配置
- 在 `AiTaskService` 中添加 `triggerQueuedAsrScheduling` 和 `retryScheduleMeeting` 方法
- 更新多个服务实现类以使用新的 ASR 任务调度方法
- 在前端 `MeetingDetail.tsx` 和 `Meetings.tsx` 中添加重新调度按钮和相关逻辑
3860ba3e00 feat: 添加请求日志记录和 gRPC 连接快照功能
- 引入 `AndroidRequestLogHelper` 以记录请求日志
- 新增 `AndroidGrpcConnectionSnapshotVO` 和 `AndroidGrpcConnectionDetailVO` 类,用于表示 gRPC 连接快照和详情
7c3b65624e refactor: 重构会议进度管理和Android设备绑定服务
- 移除 `RedisOnlyMeetingProgressServiceAdapter` 和 `RedisValueSupport` 类
- 更新 `MeetingProgressServiceImpl` 使用新的 `MeetingProgressCache`
- 重构 `MeetingTaskRecoveryListener` 使用 `MeetingLockCache` 和 `MeetingAsrPermitCache`
- 添加 `AndroidDeviceBindingService` 和 `AndroidPushMessageService` 接口及其实现类
- 新增 `AndroidPublicMeetingSessionRequest` 和 `AndroidPublicMeetingSessionVO` DTO 类
- 更新 `AndroidMeetingPushService` 及其实现类,添加推送待处理会议功能
8716608afa feat: 添加公共设备会议创建页面
- 新增 `PublicDeviceMeetingCreate` 组件,用于创建公共设备会议
- 支持选择 ASR 模型、总结模型、总结模板等配置
- 提供参会人员、主持人、会议标签、访问密码等字段
- 实现表单验证和提交功能,支持推送到设备
e7659b1e31 feat: 添加设备自注册接口并优化设备在线管理逻辑
- 新增 `AndroidDeviceController` 用于设备自注册
- 优化 `DeviceOnlineManagementServiceImpl` 和 `AndroidDeviceBindingServiceImpl` 中的设备在线管理逻辑
- 更新 `DeviceInfoMapper` 添加 `updateBaseInfoByIdIgnoreTenant` 方法
- 在 `AndroidPublicMeetingController` 中添加设备未注册时的异常处理
- 更新 `AndroidAuthService` 和 `AndroidAuthServiceImpl` 支持设备是否需要注册的验证
40bf049a0e feat: 添加会议积分管理功能
- 新增 `MeetingPointsController` 用于查看会议积分余额
- 新增 `MeetingPointsBalanceVO` DTO 类,表示会议积分余额视图
- 新增前端页面 `MeetingPointsManagement`,展示会议积分余额和消耗流水
- 新增 `MeetingSummaryChargeRecordServiceImpl` 服务实现类
1b41693597 refactor: 更新 ASR 本地模型连接测试和分片上传逻辑
- 修改 `AiModelServiceImpl` 中的 `fetchLocalProfile` 方法,更新目标 URL 和解析逻辑
- 添加新的 `extractStringArray` 方法以提取字符串数组
- 更新 `AndroidChunkUploadService` 接口,移除 `totalChunks` 参数
- 修改 `LegacyMeetingAdapterServiceImpl` 和 `AndroidChunkUploadServiceImpl` 中的分片上传逻辑,支持合并音频文件
- 更新 `AndroidMeetingController` 中的 `finishOfflineMeeting` 方法,处理分片上传完成后的逻辑
- 优化 `MeetingServiceImpl` 中的 `getById` 方法,忽略租户信息
- 更新前端 `AiModels.tsx` 中的表单验证规则和隐藏部分字段
30414bd41f refactor: 注释掉 ASR 本地模型配置和前端声纹模型相关代码
- 在 `AiModelServiceImpl` 中注释掉 ASR 本地模型配置保存逻辑
- 在 `AiModels.tsx` 中注释掉声纹模型表单字段
e1e321a86d feat: 添加会议进度通知和离线会议冲突处理
- 在 `MeetingProgressServiceImpl` 中添加 `notifyUnifiedStatusChangedIfNeeded` 方法,用于通知会议状态变更
- 新增 `ExistingOfflineMeetingException` 和 `AndroidOfflineMeetingConflictVO` 类,用于处理离线会议冲突
- 更新前端 `Meeting.ts` 和 `MeetingPreview.tsx`,添加统一会议状态字段和访问校验逻辑
- 新增 `AndroidPublicLoginConfirmPayload` 和 `AndroidUnifiedMeetingStatusRequest` DTO 类,用于公有设备登录确认和统一会议状态查询
d47a66febd fix: 修正 ffmpeg 路径和音频处理逻辑
- 更新 `application-dev.yml` 中的 `ffmpeg-path` 配置
- 在 `SpeakerServiceImpl` 中添加 `StandardCharsets.UTF_8` 编码
- 优化 `LegacyMeetingAdapterServiceImpl` 和 `MeetingDomainSupport` 中的音频处理逻辑
1cce0aeabb feat: 添加授权码管理和设备自注册功能
- 新增 `AndroidTenantProviderConfig` 配置类,提供租户解析逻辑
- 更新 `AndroidAuthService` 接口,添加 `authenticateHttp` 方法的可选参数
- 新增前端授权码管理页面 `LicenseManagement`,支持授权码列表展示和导入
- 新增 `AndroidDeviceRegistrationServiceImpl` 的 `register` 方法,支持设备自注册并验证租户代码
- 更新 `AndroidAuthServiceImpl`,在认证过程中应用授权信息
- 更新相关 DTO 和接口,支持新的授权和设备注册逻辑
82dc485dcf feat: 添加 H5 基础 URL 和匿名访问支持
- 在 `AndroidScreenSaverCatalogVO` 中新增 `h5BaseUrl` 字段
- 更新 `vite.config.ts`,设置基础路径为 `/H5/`
- 更新 `main.tsx`,设置 `BrowserRouter` 的 `basename` 为 `/H5`
- 在 `AndroidMeetingController` 的 `config` 方法上添加 `@Anonymous` 注解
- 在 `AndroidScreen
1813b90c6a feat: 引入会议状态枚举并更新相关逻辑
- 新增 `MeetingStatusEnum` 枚举类,定义会议状态及其相关方法
- 更新多个服务和控制器中的会议状态处理逻辑,使用 `MeetingStatusEnum` 代替硬编码的状态值
- 优化会议状态判断和设置的相关代码,提高可读性和维护性
11c3ee1b09 refactor: 移除会议用户统计相关代码并更新设备认证逻辑
- 移除 `MeetingUserStats` 相关实体、服务和映射器
- 更新 `AndroidPushGrpcService` 和 `AndroidAuthServiceImpl`,添加 `userId` 和 `tenantId` 参数
- 优化 `AndroidDeviceHomeServiceImpl` 中的积分计算逻辑
- 在 `MeetingPointsController` 中新增 `transfer` 方法,支持从公共账户分配积分给个人账户
- 更新 `MeetingPointsLedgerListItemVO` 中的 `pointsType` 描述
- 优化 `AndroidDeviceBindingServiceImpl` 中的设备登录态验证逻辑
1e7a8ad83c feat: 更新 Android 会议控制器,添加 ASR 重试和总结重试功能
- 新增 `retryTranscription` 和 `retrySummary` 方法,支持重试 ASR 识别和会议总结
- 更新 `create` 方法,返回 `AndroidMeetingCreateResponse` 对象
- 更新 `list` 方法,返回 `AndroidMeetingListItemVO` 列表
- 添加辅助方法 `buildAndroidMeetingCreateResponse` 和 `buildAndroidMeetingListPage` 用于构建响应对象
- 引入 `h5BaseUrl` 配置项,用于生成会议预览 URL
b07bbe90a0 feat: 添加 Android 会议相关 DTO 和积分处理 DTO
- 新增 `AndroidMeetingListItemVO` 和 `AndroidMeetingCreateResponse` 用于 Android 会议列表和创建响应
- 新增 `MeetingPointsTransferRequest` 用于公共积分分配给个人请求
- 新增 `MeetingPointsChargeItemVO` 用于会议积分扣费明细视图
178b920581 refactor: 移除会议完成推送逻辑并更新积分校验处理
- 移除 `AndroidMeetingPushService` 中的 `pushMeetingCompleted` 方法及相关调用
- 更新 `MeetingCommandServiceImpl` 和 `AiTaskServiceImpl`,移除对 `AndroidMeetingPushService` 的依赖
- 新增 `assertSufficientPointsBeforeAsrSubmit` 和 `assertSufficientPointsBeforeSummarySubmit` 方法到 `MeetingPointsService`,并在 `AiTaskServiceImpl` 中调用这些方法以确保在提交 ASR 和总结任务前有足够的积分
- 更新前端表单占位符和多语言文件中的文本
2e05a25e63 feat: 增强会议总结和积分管理功能
- 添加 `MeetingSummaryPromptAssembler` 依赖并更新相关方法
- 优化 `resolveHostName` 方法为 `resolveMeetingUserName`,并调整相关调用
- 更新 `updateMeetingBasic` 方法,支持更新摘要模型 ID 和提示 ID
- 在 `retrySummary` 和 `retryChapter` 方法中添加对摘要模型 ID 和提示 ID 的处理
- 优化前端积分管理页面,新增个人账户余额画廊和统计卡片
- 调整积分管理页面的布局和样式,提升用户体验
e330edc965 refactor: 更新异常处理和前端页面布局
- 在 `AndroidAuthServiceImpl` 中将 `RuntimeException` 替换为 `BusinessException`,并使用 `ErrorCodeEnum.UNAUTHORIZED`
- 优化前端 `MeetingPointsManagement` 页面布局,移除不必要的组件和样式
- 添加个人账户分页功能和新的统计卡片样式
- 调整积分管理页面的表格和标签样式,提升用户体验
6e4d10427a feat: 添加租户积分校验设置和前端页面优化
- 在 `MeetingPointsServiceImpl` 中新增租户积分校验逻辑,支持无限余额模式
- 更新 `MeetingPointsManagement` 页面,移除不必要的组件和样式,优化统计卡片和表格布局
- 新增 `TenantMeetingPointsSettings` 页面,用于管理租户积分校验设置
146b31b809 feat: 添加租户积分校验设置页面和优化 Android 上传服务
- 新增 `TenantMeetingPointsSettings` 页面,用于管理租户积分校验设置
- 优化 `AndroidChunkUploadServiceImpl`,新增 `normalizeChunkSourceFileName` 方法以处理文件名规范化
fd9ef5c885 feat: 添加租户业务数据逻辑删除和优化会议状态处理
- 在多个 Mapper 中添加 `logicalDeleteByTenantId` 方法,支持按租户 ID 逻辑删除数据
- 优化 `MeetingUnifiedStatusServiceImpl` 中的会议状态处理逻辑,调整 `isAndroidOfflineMeetingWaitingUpload` 的调用位置
- 更新 `Meetings.tsx` 中的会议状态判断逻辑,新增 `isUnifiedTerminalProgress` 方法
- 优化 `AndroidChunkUploadServiceImpl` 中的文件上传逻辑,移除不必要的 `try-finally` 块
- 在 `TenantManagementServicePrimaryImpl` 中添加逻辑删除租户业务数据的方法,并更新相关依赖注入
c64c8b5690 refactor: 移除 `ExistingOfflineMeetingException` 并更新相关逻辑
- 移除 `ExistingOfflineMeetingException` 类
- 更新 `AndroidMeetingController` 中的异常处理,使用 `BusinessException` 和 `BusinessErrorCodeEnum`
- 优化 `AndroidDeviceHomeServiceImpl`,添加 `TenantMeetingPointsSettingService` 依赖并更新积分校验逻辑
- 将 `AboutPage` 页面移至 `ProfilePage` 的模态框中
- 更新 `MeetingUnifiedStatusServiceImpl` 的代码格式和逻辑顺序
fee7f2a0b3 refactor: 优化 ASR 和总结任务调度逻辑并移除未使用的线程池配置
- 移除 `@Async` 注解和未使用的 `asrDispatchExecutor` 配置
- 更新 `dispatchTasks`、`dispatchChapterTask` 和 `dispatchSummaryTask` 方法,添加日志记录和线程池检查
- 在 `doDispatchTasks`、`doDispatchChapterTask` 和 `doDispatchSummaryTask` 方法中添加详细的日志记录和异常处理
- 调整 `MeetingAsyncExecutorConfig` 中的线程池配置,移除 `asrDispatchExecutor` 和 `summaryDispatchExecutor`,更新 `asrTaskExecutor` 和 `summaryTaskExecutor` 的配置
877a4a0654 feat: 添加会议预览页面和样式
- 新增 `MeetingPreviewView` 组件,用于展示会议预览页面
- 添加 `MeetingPreviewView.css` 样式文件,定义会议预览页面的样式
- 实现会议基本信息、AI 纪要、AI 目录和转录原文的展示
- 支持分享设置、复制链接和章节跳转功能
236176d5ff refactor: 优化会议预览页面的分享设置样式和功能
- 更新 `MeetingPreviewView.css`,移除未使用的类并优化样式
- 在 `MeetingPreviewView.tsx` 中添加密码修改模态框,支持访问密码的设置和修改
- 优化分享设置的显示逻辑,新增紧凑模式和密码显示功能
c0d2dcce3d refactor: 优化参与者列表生成逻辑
- 在 `MeetingPreviewView.tsx` 中更新 `participants` 的生成逻辑,当 `meeting?.participants` 为空时,从 `transcripts` 中提取唯一发言人并生成列表
4572d15bea feat: 添加会议状态推送和优化任务调度逻辑
- 在 `AiTaskServiceImpl` 中添加对轮询锁的检查,防止提前 claim 队列任务
- 在 `AndroidMeetingController` 中添加 `AndroidMeetingPushService` 依赖,并在 `retryTranscription` 和 `retrySummary` 方法中推送会议状态变化
- 移除 `AndroidMeetingController` 中未使用的代码块和方法
3c299aaf3b feat: 添加平台管理员权限和优化会议状态处理逻辑
- 在 `usePermission` 钩子中添加 `isPlatformAdmin` 权限检查
- 在 `TenantMeetingPointsSettings` 页面中根据权限控制按钮显示
- 优化 `MeetingCommandServiceImpl` 和 `MeetingUnifiedStatusServiceImpl` 中的会议状态处理逻辑
- 更新 `Meetings.tsx` 中的会议状态判断逻辑
- 在 `AiTaskServiceImpl` 中添加 `AndroidMeetingPushService` 依赖,并在任务完成或失败时推送会议状态变化
443e067b30 feat: 添加设备更新接口和优化设备注册逻辑
- 在 `AndroidDeviceServiceImpl` 中添加 `updateDevice` 方法,支持更新设备信息
- 优化 `AndroidDeviceRegistrationServiceImpl` 中的设备名称设置逻辑
- 更新 `AndroidDeviceController`,添加新的 `update` 接口以支持设备信息更新
- 调整 `DeviceInfoMapper` 中的 `updateBaseInfoByIdIgnoreTenant` 方法,移除不必要的字段更新
8d4a31e043 feat: 添加最小会议时长配置和优化设备列表样式
- 在 `AndroidMeetingController` 和 `AndroidMeetingConfigVo` 中添加最小会议时长配置
- 优化 `ListTable` 组件的滚动样式和逻辑
- 更新 `devices/index.less` 和 `devices/index.tsx`,改进设备列表单元格样式和内容展示
f787f867bb feat: 添加 ASR 任务许可缓存和优化任务调度逻辑
- 在 `AiTaskServiceImpl` 中添加 `MeetingAsrPermitCache` 依赖,用于管理 ASR 任务的许可
- 更新 `claimQueuedAsrTaskForScheduling` 方法,使用 `MeetingAsrPermitCache` 进行许可检查
- 在 `dispatchTasks` 方法中更新并发任务数量计算,考虑许可缓存中的许可数量
- 在 `requeueAsrTask` 和 `finally` 块中移除许可,确保资源释放
- 在 `RedisSupport` 中添加 `addToSetQuietly`、`isSetMemberQuietly` 和 `getSetSizeQuietly` 方法,支持许可缓存操作
7233f13598 refactor:优化设备列表样式和更新 Redis 支持
- 在 `devices/index.less` 中注释掉不必要的 CSS 规则
- 更新 `AndroidAuthServiceImpl` 和 `AndroidDeviceRegistrationServiceImpl` 中的异常信息和方法简化
- 在 `MeetingCreateDrawer.tsx` 中启用文本精炼功能
- 在 `devices/index.tsx` 中使用通用成功消息
- 在 `DeviceOnlineManagementServiceImpl` 中添加对终端类型的映射
- 更新 `ClientManagement.tsx` 中的平台类型选项
- 在 `MeetingPointsManagement.tsx` 中注释掉当前可用额度显示
- 在 `scan-confirm/index.tsx` 中更新登录确认消息
- 更新 `RedisSupport` 以使用 Lettuce 库并调整相关方法
ee1e75eda2 feat: 添加密码找回功能和相关接口
- 在 `auth.ts` 中添加 `PasswordPolicyPublic`、`PasswordRecoverySendCodePayload` 和 `PasswordRecoveryResetPayload` 接口
- 添加 `fetchPublicPasswordPolicy`、`sendPasswordRecoveryCode` 和 `resetPasswordByRecovery` API 函数
- 在 `index.ts` 中添加 `resetUserPassword` API 函数
- 更新 `http.ts` 中的 `AUTH_WHITELIST`,添加新的密码找回相关路径
- 在 `App.tsx` 中添加 `ForgotPasswordPage` 路由
- 在 `zh-CN.json` 和 `en-US.json` 中添加密码规则相关的翻译
- 在 `AndroidPushGrpcService.java` 中添加日志记录
- 添加 `LettuceRedisConfig` 配置类
- 在 `login/index.tsx` 中添加忘记密码链接
- 新增 `forgot-password/index.tsx` 页面,实现密码找回功能
- 更新 `global.css` 和 `reset-password/index.tsx` 的样式和逻辑
- 更新 `application.yml`,添加邮件配置
- 更新 `tsconfig.tsbuildinfo` 文件
194a05cbe0 feat: 添加密码找回页面和更新认证逻辑
- 新增 `forgot-password/index.tsx` 页面,实现密码找回功能
- 更新 `AndroidAuthServiceImpl`,添加 `authenticateHttpIgnoreToken` 方法,并在 `authenticateHttp` 方法中增加 `ignoreTokenValidation` 参数
- 更新 `AndroidAuthService` 接口,添加 `authenticateHttpIgnoreToken` 方法
- 更新 `AndroidDeviceController`,使用 `authenticateHttpIgnoreToken` 方法进行认证
- 优化 `AndroidDeviceRegistrationServiceImpl` 中的异常信息
- 更新 `.gitignore`,忽略不必要的文件和目录
bdc91f4f8b refactor: 优化字典和系统参数页面的表单处理和抽屉关闭逻辑
- 在 `dictionaries/index.tsx` 中添加 `closeTypeDrawer` 和 `closeItemDrawer` 函数,统一处理抽屉关闭和表单重置
- 在 `sys-params/index.tsx` 中添加 `closeDrawer` 函数,统一处理抽屉关闭和表单重置
- 更新 `dictionaries/index.tsx` 和 `sys-params/index.tsx` 中的相关方法,使用新的关闭函数
- 移除 `PageContainer` 组件,改用 `div` 和 `PageHeader` 组件进行页面布局
97ee737f8c refactor: 优化音频文件上传和分片处理逻辑
- 在 `MeetingAudioUploadSupport` 和 `LegacyMeetingAdapterServiceImpl` 中简化文件空值检查
- 在 `AndroidChunkUploadServiceImpl` 中重构分片状态重建和合并逻辑,增加对未完成分片的处理
- 更新 `AndroidMeetingController` 和 `AndroidChunkUploadServiceImpl` 中的文件头验证和存储逻辑
- 注释掉 `AndroidMeetingController` 中的部分权限检查代码
33caa1201f refactor: 优化 ListTable 组件滚动逻辑和样式
- 在 `ListTable` 组件中合并默认滚动配置
- 更新 `TenantMeetingPointsSettings`、`MeetingPointsManagement` 和 `logs/index` 页面的滚动设置
- 优化 `ListTable` 和相关页面的 CSS 样式
- 更新 `fetchLogs` 请求参数处理逻辑
b34efa5eb0 refactor: 优化设备和客户端管理页面样式和滚动逻辑
- 在 `devices/index.less` 中取消注释并应用必要的 CSS 规则
- 更新 `devices/index.tsx` 和 `business/ClientManagement.tsx` 中的滚动配置和样式
- 在 `backend/lombok.config` 中添加 `lombok.copyableAnnotations` 配置
d38acf5ccc refactor: 使用 `authenticateHttpIgnoreToken` 方法并优化响应构建逻辑
- 在 `AndroidMeetingChunkUploadController` 和 `AndroidMeetingController` 中使用 `authenticateHttpIgnoreToken` 方法进行认证
- 优化 `AndroidMeetingController` 中的响应构建逻辑,添加日志记录
97065c68a6 feat: 添加离线会议转录失败处理逻辑和优化分片上传
- 在 `MeetingUnifiedStatusServiceImpl` 中添加 `isAndroidOfflineEmptyUploadFailure` 方法,处理安卓离线会议空上传失败情况
- 在 `MeetingCommandService` 和 `MeetingCommandServiceImpl` 中添加 `failOfflineTranscription` 方法,处理离线会议转录失败
- 优化 `AndroidChunkUploadServiceImpl` 中的分片上传和合并逻辑,增加对空文件的处理
- 更新 `AndroidMeetingController` 中的分片上传结果处理逻辑
2bab042ca0 feat: 添加 AI 目录功能和相关逻辑
- 在 `MeetingUnifiedStatusServiceImpl`、`MeetingCommandServiceImpl` 和 `MeetingDomainSupport` 中添加 `resolveAiCatalogEnabled` 方法,用于检查 AI 目录是否启用
- 更新 `MeetingVO` 和 `MeetingCreateConfigVO`,添加 `aiCatalogEnabled` 字段
- 在 `MeetingController` 中添加 `aiCatalogEnabled` 参数,并更新响应构建逻辑
- 在前端页面中添加对 `aiCatalogEnabled` 的处理,包括 `MeetingDetail`、`MeetingPreview` 和 `MeetingPreviewView` 页面
- 在 `sys-params/index.tsx` 中添加 `MEETING_AI_CATALOG_ENABLED` 系统参数配置
- 更新 `AndroidPushGrpcService` 中的平台枚举,增加新的平台类型
- 优化 `AiTaskServiceImpl` 中的任务调度逻辑,支持并行和串行模式
31a4c5c767 refactor: 使用 ModelProviderEnum 替代硬编码字符串并优化实时会议 WebSocket 处理逻辑
- 在 `AiModelServiceImpl`、`AiModelController` 和 `MeetingCommandServiceImpl` 中使用 `ModelProviderEnum` 替代硬编码的 "custom" 字符串
- 移除 `appendRealtimeTranscripts` 方法,并在 `RealtimeMeetingProxyWebSocketHandler` 中添加对 `RealtimeAsrChannel` 的支持
- 优化前端 `RealtimeAsrSession` 组件,移除不必要的方法并更新状态管理逻辑
- 添加 `RealtimeMeetingTranscriptCacheService` 和 `RealtimeMeetingTranscriptCacheState` 类,用于缓存和处理实时转录数据
a036c14673 feat: 添加异步分片合并和优化音频处理逻辑
- 在 `AndroidChunkUploadServiceImpl` 中添加 `completeUploadAsync` 方法,实现异步分片合并和上传
- 优化 `MeetingAudioUploadSupport` 中的音频文件存储和验证逻辑
- 更新 `AndroidMeetingController` 和 `AndroidMeetingChunkUploadController` 中的响应构建和日志记录逻辑
- 在 `MeetingQueryServiceImpl` 中更新 `getDetailIgnoreTenant` 方法,支持是否包含音频的参数
- 在 `LegacyMeetingAdapterServiceImpl` 中调用 `prewarmPlaybackAudioAfterCommit` 方法进行预热处理
033ffaacc9 feat: 优化会议状态解析和章节边界识别逻辑
- 在 `MeetingUnifiedStatusServiceImpl` 中添加 `MeetingUnifiedStageContext` 参数,优化阶段解析逻辑
- 在 `MeetingTranscriptChapterServiceImpl` 中更新章节边界识别的系统提示,使其更清晰
- 在 `AiTaskServiceImpl` 和 `MeetingProgressServiceImpl` 中增加对 AI 目录启用状态的检查,优化任务调度逻辑
77fe6d4e77 feat: 添加腾讯实时 ASR 支持并优化相关逻辑
- 在 `AiModelServiceImpl` 中添加腾讯 ASR 配置验证和处理逻辑
- 更新前端 `RealtimeAsrSession` 组件,支持 `sentenceKey` 和腾讯 ASR 配置
- 在 `RealtimeMeetingProxyWebSocketHandler` 中添加对腾讯 ASR 会话的处理
- 添加 `TencentRealtimeAsrChannel` 类,实现腾讯实时 ASR 通道逻辑
- 更新 `RealtimeMeetingSocketSessionServiceImpl` 和 `RealtimeMeetingSessionStateServiceImpl`,支持腾讯 ASR 会话状态管理
- 在 `RealtimeSocketSessionData` 中添加 `modelCode` 和 `mediaConfig` 字段
- 更新 `RealtimeMeetingTranscriptCacheItem`,添加 `sentenceGroupKey` 字段
- 在 `AiModels` 页面中添加腾讯 ASR 配置表单字段
- 添加 `TENCENT_PROVIDER` 常量,并在 `ModelProviderEnum` 中添加腾讯云枚举值
- 添加单元测试以验证腾讯 ASR 模型保存逻辑
255e268138 Merge branch 'dev_na' of http://111.10.202.195:3000/chenh/imeeting into dev_ymcg
同步 dev_na 分支的最新更新,确保 dev_ymcg 包含远程修复的功能模块和代码变更,避免后续冲突。
c0cc4b1c27 feat: 添加上游断开时的会议暂停处理逻辑并优化实时转录显示
- 在 `RealtimeAsrSession` 组件中添加 `handleUpstreamPauseError` 方法,处理上游断开时的会议暂停
- 更新 `LocalRealtimeAsrChannel` 类,移除不必要的回调调用
- 优化 `RealtimeMeetingTranscriptCacheServiceImpl` 中的说话人解析逻辑
- 移除 `RealtimeAsrSession` 组件中部分未使用的实时转录显示字段
9c98e670e1 feat: 添加 WebSocket 心跳保活和资源清理逻辑
- 在 `RealtimeMeetingWebSocketConfig` 中添加配置,关闭 Tomcat 内置的 WebSocket keepalive 检测
- 在 `RealtimeAsrSession` 组件中添加心跳定时器和资源清理逻辑,防止资源泄漏
- 在 `RealtimeMeetingProxyWebSocketHandler` 中过滤前端心跳消息,避免转发给上游 ASR 服务
06c4f5d74e feat: 添加腾讯离线 ASR 支持并优化相关逻辑
- 在 `AiTaskServiceImpl` 中添加处理腾讯离线 ASR 任务的逻辑
- 更新 `AiModelServiceImpl` 中的腾讯 ASR 模型配置验证
- 在 `pom.xml` 中添加腾讯 ASR SDK 依赖
- 添加单元测试以验证腾讯离线 ASR 处理逻辑
57f343ddfd feat: 添加腾讯离线和实时 ASR 模型配置并优化相关逻辑
- 在 `AiModelServiceImpl` 和 `AiTaskServiceImpl` 中添加处理腾讯离线和实时 ASR 模型的逻辑
- 更新前端 `AiModels` 页面,支持腾讯 ASR 配置表单字段
- 在 `RealtimeMeetingSocketSessionServiceImpl` 中添加解析腾讯实时模型代码的方法
- 更新单元测试以验证腾讯 ASR 模型保存逻辑
0593e0c23d feat: 添加重试机制以增强 ASR 任务的稳定性
- 在 `AiTaskServiceImpl` 中引入 `RetryExecutor` 和 `RetryOptions`,以处理 ASR 任务提交和查询的超时及连接异常
- 添加多个单元测试以验证 ASR 任务重试逻辑
fc034b8326 feat: 注释掉 API 密钥验证逻辑
- 在 `AiModelController` 中注释掉对 `dto.getApiKey()` 的验证逻辑
065708497a refactor: 优化代码结构和样式
- 在 `AiTaskServiceImplTest` 中注释掉 `isRetryableAsrQueryExceptionShouldTreatHttpTimeoutAsRetryable` 测试方法
- 在 `MeetingSummaryFileServiceImpl` 中重构代码以简化解析逻辑,并添加 `unwrapCodeFence` 方法
- 更新 `vite.config.ts` 中的代理配置,使用新的 IP 地址
- 调整 `MeetingPreviewView.css` 中的样式,包括宽度、背景色、边框颜色和阴影
- 增加 `audio-range` 的 Webkit 和 Firefox 样式定义
- 在 `MeetingPreviewView.tsx` 中添加 `useEffect` 以重置音频状态和同步会议时长
2a95eca102 refactor:优化 MeetingSummaryPromptAssembler 和相关逻辑
- 更新 `MeetingSummaryPromptAssembler`,引入新的模板和占位符
- 在 `MeetingSummaryFileServiceImpl` 中重构代码以简化解析逻辑
- 更新 `SysParamKeys`,添加新的系统参数键
- 调整前端 `AiModels` 页面的本地模型验证逻辑
- 注释掉登录页面中的示例账户信息
69e6eff9d9 feat: 添加热词组支持并优化相关逻辑
- 在 `RealtimeMeetingResumeConfig` 和 `MeetingVO` 中添加 `hotWordGroupId` 和 `hotWordGroupName` 字段
- 更新 `MeetingCommandServiceImpl` 以设置 `hotWordGroupId` 到 `resumeConfig`
- 在 `MeetingDomainSupport` 中添加方法以解析和填充有效的热词组信息
- 更新前端 `meeting.ts` 和 `MeetingDetail.tsx` 以支持热词组显示
4bc3f65a10 Merge branch 'dev_na' of http://111.10.202.195:3000/chenh/imeeting into dev_ymcg
# Conflicts:
#	frontend/src/pages/business/MeetingDetail.tsx
17dbeefdf8 feat(core): 新增租户模型激活、ASR同步与会议导出功能
- 实现租户级AI模型激活与默认配置管理
- 新增发言人ASR状态网关及数据同步机制
- 完善会议导出服务的具体实现
- 补充AI模型与会议运行时的单元测试
- 适配前端AI模型管理与发言人注册页面
91ab0eb7f0 refactor(meeting): 优化会议模块代码结构与导入语句
- 整理并优化后端会议相关服务、控制器及DTO的import语句
- 补充AndroidMeetingConfigVo等类的Swagger注解及必要字段
- 调整前端API与类型定义文件的代码格式
- 提升代码可读性与规范性,不涉及业务逻辑变更
ec8bb466da refactor(frontend): 重构声纹管理页面UI 优化AI模型页面布局
- 重写声纹注册页面的整体UI与代码逻辑,拆分我的声纹、他人声纹视图,优化录音上传与管理的交互体验
- 调整AI模型页面的样式结构,移除冗余样式并新增内容容器样式,修复代码缩进问题
- 统一前端页面的代码规范与样式命名规则,提升项目可维护性
b06b7585d8 refactor(realtime): 重构实时会议会话状态以支持恢复配置
在 LocalRealtimeAsrChannel 中增加恢复配置处理逻辑,
并在 RealtimeMeetingSessionStateService 中新增
rememberResumeConfig 方法,以完善实时会议恢复
配置的保存与传递,确保会议恢复时能正确应用配置。
e3c688b9ce refactor(service): 清理导入并优化代码格式
- 移除无用导入语句,精简依赖引用
- AndroidAuthController 添加 UnAuthException 异常类导入
- 统一代码格式规范,调整空行与缩进
c296600060 refactor(core): 统一代码格式并更新前端图标
统一前后端代码换行符及 import 语句格式,更新前端项目 logo 图标样式。
eb32f13507 feat(core): 实现热词批量创建及新增会议终端枚举
后端新增热词批量创建接口与相关DTO和VO,新增QtMeetingController支持Qt端会议业务,并新增MeetingTerminalEnum统一管理多终端类型。前端同步适配热词批量创建API并完善会议详情页的终端展示。
49eaea32b2 refactor(biz): 重构热词与提示词模块并清理文档
主要变更:
1. 扩展热词组与提示词模板的实体及DTO/VO字段
2. 完善前后端相关接口、页面逻辑及国际化配置
3. 调整后端日志配置
4. 移除废弃的 AGENTS.md 设计文档
a53d85bbec refactor(core): 重构业务模块代码格式并清理冗余空行
统一前后端业务模块(热词组、提示词模板等)的代码换行符与导入语句格式,移除 Java 实体、DTO、VO 及 Service 实现类中的冗余空行,优化前端组件及 API 文件的 import 结构。
7dcf4f0646 feat(prompt): 增加提示词模板默认配置与作用域
重构 PromptTemplate 相关服务与实体,增加 isDefault 和 defaultScope 字段以支持个人、租户和平台级别的默认模板配置。前端同步更新模板管理页面与 API 接口,并在会议创建组件中集成相关逻辑。
2660f65bd2 refactor(core): 重构会议接口并统一代码换行符
- 调整前端会议接口类型,新增 MeetingParticipant 定义
- 统一全项目文件换行符为 LF,清理 CRLF 格式
- 完善 .gitignore 规则与 H5 端基础类型定义
41a21f4d8e refactor(core): 重构会议接口并统一代码换行符
- 调整前端会议接口类型,新增 MeetingParticipant 定义
- 统一全项目文件换行符为 LF,清理 CRLF 格式
- 完善 .gitignore 规则与 H5 端基础类型定义
72a2bfd8f7 refactor(core): 重构会议接口并统一代码换行符
- 调整前端会议接口类型,新增 MeetingParticipant 定义
- 统一全项目文件换行符为 LF,清理 CRLF 格式
- 完善 .gitignore 规则与 H5 端基础类型定义
2c0caa16be refactor(realtime): 重构实时会议Socket会话与DTO
- 重构 OpenRealtimeSocketSessionCommand,将集合类型替换为明确字段
- 完善 RealtimeMeetingSocketSessionServiceImpl 逻辑及 WebSocket 配置
- 清理前端 MeetingCreateDrawer 中未使用的 Antd 组件导入
- 重构 HotWordServiceImplTest 测试用例并优化 logback 配置格式
chenh merged commit 151236a2cd into master 2026-09-04 09:00:30 +00:00
Sign in to join this conversation.
No reviewers
No Label
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: chenh/imeeting#1
There is no content yet.