Commit Graph

515 Commits

Author SHA1 Message Date
f2403f00ce feat(annotation): 添加不适用标注状态支持
- 在 AnnotationResultStatus 枚举中新增 NOT_APPLICABLE 状态
- 将无标注/不适用合并为两个独立的状态选项
- 更新前端标签显示逻辑以支持新的状态类型
- 修改确认对话框允许选择不适用状态
- 在后端数据库模型中添加 NOT_APPLICABLE 状态值
- 更新 API schema 描述以反映新的状态选项
- 调整标注状态判断和保存逻辑以处理三种状态
- 更新数据库表结构注释包含新状态类型
2026-01-31 13:28:08 +08:00
f4fc574687 feat(annotation): 添加标注状态管理功能
- 引入 AnnotationResultStatus 枚举类型区分已标注和无标注状态
- 在前端组件中实现空标注检测和确认对话框逻辑
- 添加数据库表字段 annotation_status 存储标注状态
- 扩展后端服务验证和处理标注状态逻辑
- 更新 API 接口支持标注状态参数传递
- 改进任务列表显示逻辑以反映不同标注状态
- 实现分段模式下的标注结果检查机制
2026-01-31 13:23:38 +08:00
52a2a73a8e feat(annotation): 添加保存并跳转快捷键功能
- 实现了 Ctrl+Enter 保存并跳转到下一个标注的快捷键逻辑
- 添加了键盘事件监听器来捕获快捷键组合
- 集成了导出选中标注并发送到父窗口的功能
- 处理了快捷键事件的防重复和传播阻止
- 在消息处理器中添加了 LS_SAVE_AND_NEXT 类型的支持
- 实现了自动跳转到下一项标注的功能
2026-01-31 11:47:33 +08:00
b5d7c66240 feat(data-management): 扩展源文档排除功能支持Excel文件类型
- 在后端服务中扩展源文档类型检查,新增对XLS和XLSX文件的支持
- 修改DatasetFileApplicationService中的过滤逻辑,统一处理所有源文档类型
- 新增isSourceDocument和isDerivedFile辅助方法进行文件类型判断
- 更新前端DatasetFileTransfer组件中的注释说明
- 在Python运行时依赖中添加openpyxl和xlrd库以支持Excel文件处理
- 修改标注项目接口中源文档类型的集合定义
- 更新文件操作钩子中的派生文件排除逻辑
2026-01-31 11:30:55 +08:00
6c7ea0c25e chore(deps): 更新 Docker 镜像源地址
- 将 etcd 镜像源从 quay.io 替换为 quay.nju.edu.cn
- 将 vLLM-Ascend 镜像源从 quay.io 替换为 quay.nju.edu.cn
- 统一使用南京大学镜像仓库地址以提高下载速度
2026-01-31 11:21:47 +08:00
153066a95f fix(frontend): hide action dropdown in CardView when operations list is empty 2026-01-31 11:14:26 +08:00
498f23a0c4 feat(data-management): 扩展文本数据集支持Excel文件类型
- 在DatasetFileApplicationService中添加XLS和XLSX文件类型到文档文本文件类型集合
- 更新DatasetTypeController中的TEXT数据集类型支持xls和xlsx扩展名
- 在pdf_extract.py中添加XLS和XLSX文件类型的常量定义和解析器配置
- 实现Excel文件转CSV的功能,支持单个工作表和多工作表的解析
- 添加对Excel文件的依赖检查和错误处理机制
- 修改目标文件路径构建逻辑以支持不同文件类型的派生扩展名
- 更新文本文件记录创建逻辑以使用派生文件类型而不是固定文本类型
2026-01-31 11:11:24 +08:00
85d7141a91 refactor(DataManagement): 移除相似数据集表格并改用卡片视图显示
- 移除了 Overview 组件中的相似数据集表格相关代码
- 移除了 Tag 组件和相关依赖的导入
- 在 DatasetDetail 中添加 CardView 组件用于显示相似数据集
- 将相似数据集的展示从表格改为卡片布局
- 移除了 Overview 组件中的相似数据集参数传递
- 更新了页面布局以
2026-01-31 09:40:06 +08:00
790385bd80 feat(knowledge-management): 添加知识管理搜索功能和统计接口
- 新增知识条目搜索查询和响应DTO
- 实现知识管理统计功能,包括总数、文件数和总大小
- 添加数据库查询方法支持文件搜索和统计计算
- 创建知识条目搜索控制器提供REST API
- 在前端添加知识管理搜索页面和相关组件
- 更新前端路由配置添加搜索页面入口
- 移除RAG索引服务中的重复统计功能
- 优化前端页面统计数据显示和刷新逻辑
2026-01-31 09:30:37 +08:00
97170a90fe feat(data-import): 添加文本文件类型检测和按行分割功能
- 新增 TEXT_FILE_MIME_PREFIX、TEXT_FILE_MIME_TYPES 和 TEXT_FILE_EXTENSIONS 常量用于文本文件识别
- 添加 getUploadFileName、getUploadFileType 和 isTextUploadFile 工具函数
- 在 splitFileByLines 函数中集成文本文件类型检查
- 添加 hasNonTextFile useMemo 钩子来检测是否存在非文本文件
- 当存在非文本文件时禁用按行分割功能并重置开关状态
- 更新 Tooltip 提示内容以反映文件类型限制
- 使用 useCallback 优化 fetchCollectionTasks 和 resetState 函数
- 调整 useEffect 依赖数组以确保正确的重新渲染行为
2026-01-30 23:31:02 +08:00
fd209c3083 feat(knowledge-base): 添加知识库统计功能
- 后端服务新增 KnowledgeBaseStatisticsResp 和 RagFileStatistics 数据传输对象
- 在 KnowledgeBaseService 中实现 getStatistics 方法提供统计信息查询
- 为 RagFileRepository 添加 getStatistics 接口及其实现
- 通过 MyBatis Mapper 实现数据库层面的统计查询功能
- 在 KnowledgeBaseController 中暴露 /statistics 接口供前端调用
- 前端页面集成统计卡片组件展示知识库、文件数量及总大小信息
- 实现前后端数据同步机制确保统计数据实时更新
2026-01-30 23:17:40 +08:00
76f70a6847 feat(knowledge-base): 添加知识库文件全库检索功能
- 新增相对路径字段替代原有的metadata存储方式
- 实现跨知识库文件检索接口searchFiles
- 添加前端全库检索页面和相关API调用
- 优化文件路径处理和数据库索引配置
- 统一请求参数类型定义为RequestPayload和RequestParams
- 简化RagFile模型中的元数据结构设计
2026-01-30 22:24:12 +08:00
cbad129ce4 feat(rag): 添加相对路径搜索功能并优化文件显示
- 在RagFileRepositoryImpl中新增relativePath字段和路径模式构建方法
- 实现buildRelativePathPattern方法用于构建相对路径搜索模式
- 修改page方法添加相对路径模糊查询支持
- 在RagFileReq DTO中添加relativePath参数字段
- 优化KnowledgeBaseDetail页面中的文件名显示逻辑
- 添加normalizePath函数处理文件路径规范化显示
2026-01-30 21:55:29 +08:00
ca7ff56610 feat(rag): 添加文件相对路径支持功能
- 在FileInfo DTO中新增relativePath字段
- 实现文件相对路径的规范化处理逻辑
- 将文件相对路径存储到元数据中
- 前端添加文件路径解析和显示功能
- 优化路径分隔符统一处理机制
- 更新文件列表展示逻辑以支持路径层级结构
2026-01-30 21:46:03 +08:00
a00a6ed3c3 feat(knowledge-base): 实现知识库文件夹功能和优化文件管理
- 添加 datasetId 和 filePath 字段到 DatasetFile 接口
- 实现 resolveRelativeFileName 函数用于解析相对文件名
- 在 AddDataDialog 中使用 resolveRelativeFileName 处理文件名
- 添加文件夹浏览功能,支持目录导航和层级显示
- 实现文件夹删除功能,可批量删除目录下所有文件
- 集成 Folder 和 File 图标组件用于目录和文件区分
- 优化文件列表加载逻辑,使用分页和关键词搜索
- 添加文件夹状态显示和相应操作按钮
- 实现文件路径前缀管理和子目录过滤
- 重构文件列表渲染逻辑,支持目录和文件混合展示
2026-01-30 21:30:54 +08:00
9a205919d7 refactor(data-import): 优化数据源文件扫描和复制逻辑
- 修改数据源文件扫描方法,直接在主流程中获取任务详情和路径
- 移除独立的getFilePaths方法,将路径扫描逻辑整合到scanFilePaths方法中
- 新增copyFilesToDatasetDirWithSourceRoot方法支持保留相对路径的文件复制
- 更新数据集文件应用服务中的文件复制逻辑,支持相对路径处理
- 修改Python后端项目接口中的文件查询逻辑,移除注释掉的编辑器服务引用
- 调整文件过滤逻辑,基于元数据中的派生源ID进行文件筛选
- 移除编辑器服务中已废弃的源文档过滤条件
2026-01-30 18:58:34 +08:00
8b2a19f09a feat(annotation): 添加标注项目文件快照功能
- 新增 LabelingProjectFile 模型用于存储标注项目的文件快照
- 在创建标注项目时记录关联的文件快照数据
- 更新查询逻辑以基于项目快照过滤文件列表
- 优化导出统计功能使用快照数据进行计算
- 添加数据库表结构支持项目文件快照关系
2026-01-30 18:10:13 +08:00
3c3ca130b3 feat(annotation): 添加文本文件内容读取和多类型标签导出功能
- 新增异步函数 _read_file_content 用于安全读取文本文件内容
- 实现在导出时包含文本文件的实际内容数据
- 扩展 CSV 导出格式支持多种标注类型标签提取
- 添加对矩形标签、多边形标签、画笔标签等多种标注类型的支持
- 更新 COCO 格式导出文档说明bbox坐标转换注意事项
2026-01-30 17:35:22 +08:00
a4cdaecf8a refactor(annotation): 简化注释数据导出下载逻辑
- 移除前端手动创建 a 标签下载文件的方式
- 将文件名参数传递给后端 API 函数
- 利用 download 函数内置的下载处理机制
- 简化 ExportAnnotationDialog 组件中的导出流程
- 更新 annotation.api.ts 中的 downloadAnnotationsUsingGet 函数签名
- 直接通过 API 调用完成文件下载和命名
2026-01-30 17:33:14 +08:00
6dfed934a5 feat(file-preview): 增加PDF文件预览功能并优化预览逻辑
- 引入统一的文件预览工具函数和类型定义
- 添加PDF文件类型的识别和预览支持
- 使用iframe实现PDF文件在线预览
- 重构文件预览逻辑,统一处理不同文件类型的预览
- 优化文本内容预览的长度截取机制
- 更新预览按钮加载状态显示
- 统一预览窗口的最大高度配置
- 修改API调用路径为专门的预览接口
2026-01-30 17:32:36 +08:00
bd37858ccc refactor(dataset): 优化数据集路径管理和关联关系处理
- 移除Dataset类中initCreateParam方法的parentPath参数
- 简化handleParentChange方法中的路径构建逻辑
- 更新错误消息将"子数据集"改为"关联数据集"
- 修改前端界面将"父数据集"相关术语统一为"关联数据集"
- 在导入配置组件中添加类型定义和改进文件处理逻辑
- 限制数据源选项排除COLLECTION类型避免错误选择
2026-01-30 16:48:39 +08:00
accaa47a83 fix(components): 修复组件中定时器内存泄漏问题
- 在TopLoadingBar组件中添加timeoutRef并正确清理定时器
- 在Agent页面中添加timeoutRef管理AI响应模拟定时器
- 修复BasicInformation组件中useCallback依赖数组缺失问题
- 在CreateDataset页面中传递hidden属性控制数据源显示
- 在Orchestration页面中添加intervalRef管理工作流执行进度
- 在SynthesisTask中添加testTimeoutRef管理模板测试定时器
- 确保所有组件卸载时正确清除定时器避免内存泄漏
2026-01-30 14:35:45 +08:00
98d2ef1aa5 feat(KnowledgeBase): 优化知识库文件上传功能
- 添加提交状态控制,防止重复提交
- 将分块选项中的"按章节分块"改为"按句子分块"
- 更新固定长度分块的选项值从FIXED_LENGTH_CHUNK到LENGTH_CHUNK
- 简化文件计数逻辑,直接统计选中文件数量
- 添加上传进度提示消息
- 重构文件数据结构,确保ID为字符串类型
- 添加按钮禁用状态控制,提升用户体验
- 优化消息提示的显示方式,支持更新现有消息
2026-01-30 14:29:45 +08:00
1fd70085e8 Merge remote-tracking branch 'gitea/lsf' into lsf 2026-01-30 14:14:17 +08:00
283f4af094 chore(gateway): 移除Dockerfile中的离线模式参数
- 移除了mvn命令中的-o参数,允许在线下载依赖包
- 优化了编译过程以支持网络连接场景下的依赖管理
2026-01-30 14:13:16 +08:00
ba2b5aab82 chore(gateway): 移除Dockerfile中的离线模式参数
- 移除了mvn命令中的-o参数,允许在线下载依赖包
- 优化了编译过程以支持网络连接场景下的依赖管理
2026-01-30 13:53:07 +08:00
2d476f7c7a chore(gateway): 移除Dockerfile中的离线模式参数
- 移除了mvn命令中的-o参数,允许在线下载依赖包
-
2026-01-30 12:01:49 +08:00
e624c8a26f chore(build): 移除Dockerfile中的离线模式标志
- 从Maven构建命令中移除了-o(离线)标志
- 确保构建过程中能够访问远程仓库获取依赖
- 提高了依赖解析的可靠性和准确性
2026-01-30 11:59:44 +08:00
c221666e67 feat(data-management): 添加数据集相似度推荐功能
- 在DatasetApplicationService中实现getSimilarDatasets方法,支持基于标签匹配的相似数据集推荐
- 新增normalizeSimilarLimit、normalizeTagNames、countSharedTags等辅助方法用于相似度计算
- 在DatasetRepository接口及其实现类中添加findSimilarByTags方法,支持数据库层面的标签匹配查询
- 在DatasetController中暴露/similar REST API端点,支持按需获取相似数据集
- 在前端Overview组件中展示相似数据集表格,包含名称、标签、类型、文件数和更新时间等信息
- 在DatasetDetail页面集成相似数据集获取逻辑,限制默认返回数量为4条
- 移除KnowledgeItem中的冗余title字段,统一使用其他标识信息
- 优化知识管理相关组件中的标题显示逻辑,移除硬编码标题值
2026-01-30 11:43:57 +08:00
c51cd2b6e4 perf(docker): 优化 Docker 构建性能并启用缓存卷支持
- 在后端 Dockerfile 中实现分层缓存,先复制 pom.xml 文件再下载依赖
- 在前端 Dockerfile 中实现 npm 依赖缓存卷,提升构建效率
- 在网关 Dockerfile 中实现 Maven 依赖缓存卷,减少重复下载
- 在 Makefile 中启用 Docker BuildKit 支持缓存卷等高级功能
- 使用离线模式编译避免网络请求,加快构建速度
- 优化 COPY 操作顺序以更好利用 Docker 层缓存机制
2026-01-30 11:17:40 +08:00
0b69845a29 feat(annotation): 添加文本项目源文档过滤功能
- 在 EditorProjectInfo 中增加 datasetType 字段
- 移除前端硬编码的源文档扩展名列表
- 添加 isTextProject 判断逻辑
- 实现 prefetch 和 loadTasks 中的源文档排除参数
- 在后端接口中添加 excludeSourceDocuments 参数
- 实现源文档类型的数据库查询过滤逻辑
- 优化任务列表加载性能,避免不必要的源文档加载
2026-01-29 16:29:40 +08:00
f5f0add529 refactor(editor): 重构标签工作室文本编辑器组件
- 优化了文本编辑器的渲染性能
- 改进了组件的状态管理逻辑
- 更新了编辑器的事件处理机制
- 简化了组件的属性传递方式
- 修复了文本选择相关的边界情况
- 提升了代码的可维护性和可读性
2026-01-29 16:14:10 +08:00
06f6de577b refactor(KnowledgeManagement): 调整知识库详情页面文件列表展示逻辑
- 移除未使用的 Tag 组件导入
- 将文件标题列改为文件名列,并调整数据源为 sourceFileId
- 修改文件名显示逻辑,统一返回 "文件" 作为默认值
- 移除负责人列的显示
- 更新搜索框占位符文本为 "搜索文件名或内容"
- 调整文件名列宽度从 220px 增加到 260px
- 优化文件名解析逻辑,根据文件类型返回对应的预览文件名
2026-01-29 15:21:41 +08:00
3cc0802355 refactor(data-management): 移除知识条目的冗余字段和验证逻辑
- 移除 KnowledgeItem 实体中的 title、status、domain、businessLine、owner、sensitivity 字段
- 移除 KnowledgeItem 实体中的有效期限相关字段 validFrom 和 validTo
- 移除 KnowledgeItem 实体中的标签集合 tags 和扩展元数据 metadata
- 删除 KnowledgeItemApplicationService 中的相关验证和默认值设置逻辑
- 移除 TagMapper 和 Tag 相关的数据处理代码
- 简化创建和更新知识条目的业务流程
- 更新数据库查询条件以适应新的实体结构
- 从各种 DTO 中移除已删除字段的定义和验证规则
- 修改分页查询逻辑以匹配新的字段结构
2026-01-29 15:09:47 +08:00
49b7f2a64c refactor(KnowledgeManagement): 优化知识集详情页面文件记录渲染逻辑
- 将重复的条件判断提取为变量 isFileRecord
- 使用立即执行函数简化 JSX 结构
- 统一文件类型记录的操作按钮渲染方式
- 提高代码可读性和维护性
2026-01-29 15:00:20 +08:00
dd67a0a5d9 refactor(KnowledgeManagement): 简化知识条目编辑器组件
- 移除表单验证和字段管理功能
- 删除日期选择器、下拉选择框等复杂表单元素
- 移除标签获取和状态管理逻辑
- 简化文件上传和替换流程
- 重构提交处理逻辑,区分创建和替换模式
- 移除冗余的类型定义和常量引用
- 优化文件列表管理和标题设置逻辑
2026-01-29 14:45:18 +08:00
6eb7507adf feat(repository): 添加查询衍生文件源文件ID功能
- 在 DatasetFileRepository 接口中添加 findSourceFileIdsWithDerivedFiles 方法定义
- 在 DatasetFileRepositoryImpl 实现类中实现该方法
- 添加查询 metadata 中包含 derived_from_file_id 记录的源文件ID逻辑
- 提供完整的 JavaDoc 文档注释说明方法用途和参数
2026-01-29 14:40:44 +08:00
0dba604cd3 refactor(KnowledgeItemEditor): 重构知识项编辑器组件结构
- 提取创建模式判断逻辑为独立变量 isCreateMode
- 使用条件渲染替代原有的 data?.id 判断
- 将表单字段按照创建和编辑模式进行分组重构
- 优化文件上传和替换功能的显示逻辑
- 改进代码可读性和维护性
2026-01-29 14:37:05 +08:00
f77fd99c31 feat(data-management): 扩展文档解析功能支持DOC和DOCX格式
- 添加对DOC和DOCX文件类型的常量定义和支持
- 将文件类型验证逻辑从仅PDF扩展为PDF/DOC/DOCX
- 集成Docx2txtLoader用于处理Word文档解析
- 更新错误消息为中文描述以提升用户体验
- 重构文件解析方法以支持多种文档格式
- 添加解析器元数据记录以追踪使用的解析工具
- 更新文件路径验证和构建逻辑以适配新的文件类型
2026-01-29 13:05:58 +08:00
ab957ab53d feat(dataset): 添加PDF文本提取功能支持
- 新增dataset模块路由配置
- 添加PdfTextExtractRequest和PdfTextExtractResponse数据传输对象
- 实现PDF文本提取接口,支持从PDF文件中提取文本内容
- 集成数据库会话管理和异步处理能力
2026-01-29 11:45:23 +08:00
5eafcf0145 refactor(request): 优化请求处理逻辑并添加PDF提取接口定义
- 简化catch语句移除不必要的异常变量
- 删除无用的FormData条件判断代码
- 将变量声明从let改为const提升代码质量
- 移除响应拦截器中的冗余参数传递
- 在数据集模式模块中添加PDF文本提取相关的请求响应模型
- 更新模块导出列表包含新的PDF提取接口类型定义
2026-01-29 11:40:30 +08:00
ce98be5778 feat(knowledge): 添加知识条目文件预览和替换功能
- 后端实现知识条目文件预览接口,支持多种文件类型在线预览
- 后端实现知识条目文件替换功能,保留原有文件管理逻辑
- 前端新增文件预览模态框组件,支持文本、图片、音视频预览
- 前端知识条目编辑器添加文件替换上传功能
- 前端优化文件内容截断预览逻辑,统一使用工具函数处理
- 前端修复 PUT 请求中 FormData 处理问题,确保文件上传正常工作
- 新增文件预览相关工具函数和常量配置
2026-01-29 11:38:43 +08:00
d0b5473068 feat(knowledge): 添加知识条目文件上传和下载功能
- 新增文件上传接口支持批量上传知识条目文件
- 实现文件存储路径管理和安全验证机制
- 添加文件下载功能支持知识条目文件导出
- 扩展知识内容类型枚举增加FILE类型
- 扩展知识来源类型枚举增加FILE_UPLOAD类型
- 新增上传请求DTO定义文件验证和元数据配置
- 实现文件上传目录管理和文件名安全处理
- 添加文件扩展名识别和内容类型转换逻辑
2026-01-29 11:17:24 +08:00
3c4b66b451 feat(DataManagement): 添加文件预览功能支持多种文件类型
- 实现文本、图片、视频、音频文件的预览功能
- 添加预览模态框支持不同文件类型的展示
- 集成文件类型检测和预览内容加载逻辑
- 添加预览加载状态和错误处理机制
- 实现大文件内容截断和滚动预览功能
- 添加预览窗口关闭和资源清理功能
2026-01-28 11:18:08 +08:00
4233da5b91 fix(annotation): 调整模板查询大小限制
- 将模板查询大小从 200 减少到 100
- 添加注释说明后端最大限制为 100
- 确保与模板 API 的 'size' 参数一致
2026-01-28 10:03:11 +08:00
43f7d88ad2 fix(data-cleaning): 修复数据集文件查询方法调用参数缺失问题
- 为datasetFileService.getDatasetFiles方法调用补充了缺失的参数
- 确保分页查询功能正常工作
- 解决了因参数不匹配导致的方法
2026-01-27 19:54:11 +08:00
a28b427e21 feat(data-annotation): 添加任务预加载功能以提升用户体验
- 引入 UpsertAnnotationResponse 类型定义用于处理标注更新响应
- 移除废弃的 mergeTaskPages 函数并优化任务列表合并逻辑
- 新增 prefetchSeqRef 和 prefetching 状态管理预加载过程
- 实现 startPrefetchTasks 函数用于后台预加载剩余页的任务数据
- 更新 loadTasks 函数移除 refresh 模式并集成预加载机制
- 修改标注保存逻辑直接更新本地任务状态而非重新加载全部数据
- 在加载按钮中显示预加载状态提示用户当前操作进度
- 项目切换时重置预加载序列号确保状态一致性
2026-01-27 19:45:25 +08:00
1158647217 feat(annotation): 实现任务列表分页加载和优化排序功能
- 添加分页相关字段到EditorTaskListResponse类型定义
- 定义TASK_PAGE_START和TASK_PAGE_SIZE常量及NormalizedTaskList类型
- 实现mergeTaskItems、mergeTaskPages和normalizeTaskListResponse工具函数
- 添加taskPage、taskTotal、taskTotalPages和loadingMore状态管理
- 优化后端查询逻辑,使用case语句实现标注状态排序
- 集成外连接查询同时获取文件信息和标注结果
- 改进前端任务列表的数据合并和分页加载机制
2026-01-27 19:08:37 +08:00
3a93098b57 feat(data-management): 添加数据集文件标注结果过滤功能
- 在 OpenAPI 规范中添加 hasAnnotation 查询参数用于过滤存在标注结果的文件
- 修改后端服务层 DatasetFileApplicationService 支持 hasAnnotation 参数
- 更新数据访问层 DatasetFileRepositoryImpl 实现基于标注结果的存在性查询
- 调整前端 DatasetFileTransfer 组件支持标注过滤功能
- 移除无用的分块选项配置并优化全选逻辑
- 修复文件查询时的参数传递和依赖追踪问题
2026-01-27 18:11:30 +08:00
e56211107e feat(annotation): 添加Label Studio文本编辑器的焦点管理功能
- 实现focusIframe函数用于聚焦iframe元素
- 在iframeReady和lsReady状态变化时自动聚焦编辑器
- 添加窗口聚焦事件监听器以保持编辑器焦点
- 在编辑器容器上添加鼠标点击事件以获取焦点
- 确保标签工作室准备就绪后正确设置焦点
- 优化用户体验通过自动焦点切换机制
2026-01-27 14:37:14 +08:00