Releases: Xyf0606/Neumann-Trend-Test
Releases · Xyf0606/Neumann-Trend-Test
NTT v3.0.0 release
[3.0.0] - 2025-06-02
🚀 重大版本更新 | Breaking Changes
这是一个具有重大变更的版本更新,彻底重构了数据输入体验,引入了现代化的类 Excel 数据输入界面。
✨ 核心功能:现代化数据输入界面
🎯 Excel 风格的双栏数据输入系统
- 革命性 UI 设计:实现类似 Excel 的双栏并排数据输入界面
- 左栏:时间点输入区域,支持实时编辑和验证
- 右栏:数据值输入区域,支持实时编辑和验证
- 自动行号显示,清晰的数据组织结构
- 智能单元格状态指示(有效/无效/空值)
⌨️ 现代化键盘导航系统
- 直观的操作体验:
↑↓键:上下移动浏览数据行←→键:左右切换时间栏和数据栏Enter键:进入编辑模式,编辑完成后自动跳转下一行Ctrl+S:保存所有数据并继续测试流程Esc:随时退出而不保存数据- 支持传统方向键和 Vim 风格键位(可配置)
🖥️ 智能终端适应技术
- 动态界面调整:
- 实时检测终端窗口大小,动态计算最佳显示行数
- 小终端(<20 行可用空间):显示 15 行数据
- 中等终端(20-40 行):显示 25 行数据
- 大终端(41-60 行):显示 40 行数据
- 超出显示范围时自动启用滚动浏览功能
📊 增强的数据处理能力
- 智能数据管理:
- 支持大量数据点的流畅输入和编辑
- 实时数据验证,即时反馈无效输入
- 自动扩展数据行,按需增加输入空间
- 数据预览和编辑状态可视化
- 支持导入初始数据进行编辑和扩展
🔧 技术架构重大改进
📁 新增核心组件
- DataEditor 类:
include/cli/data_editor.h:完整的数据编辑界面 APIsrc/cli/data_editor.cpp:现代化数据编辑引擎实现- 基于 FTXUI 框架,提供流畅的终端 UI 体验
- 模块化设计,可配置和可扩展的架构
🔧 文件浏览器重大升级
- FileBrowser 动态适应优化:
- 智能显示行数计算:从硬编码固定值改为动态终端适应
- 修复配置限制问题:解决了动态计算被配置值错误限制的 bug
- 默认配置优化:最大显示项目数从 15 调整为 25,更好利用终端空间
- 终端适应算法:
- 小终端:15 行显示
- 中等终端:25 行显示
- 大终端:40 行显示
- 配置系统改进:BrowserConfig 默认值优化,支持 0 值自动计算模式
⚙️ 配置系统增强
- EditorConfig 配置结构:
showRowNumbers:行号显示控制enableVimKeys:Vim 键位支持开关maxDisplayItems:最大显示行数配置(0=自动计算)timeLabel、dataLabel:可自定义的栏位标题- 完整的默认配置和运行时修改支持
🖥️ 终端技术优化
- 动态终端适应:
- 基于 FTXUI Terminal API 的实时尺寸检测
- 智能 UI 布局计算,固定元素和可变元素分离
- 异常处理和降级机制,确保各种终端环境的兼容性
- 滚动偏移自动调整,保持最佳可视性
🔄 集成与兼容性
🔗 无缝集成现有工作流
- Terminal UI 集成:
- 新增
promptForDataModern()方法替代传统分别输入 - 保持现有测试流程不变,仅升级输入体验
- 自动配置传承,使用全局语言和显示设置
- 向下兼容,不影响其他功能模块
- 新增
📦 构建系统更新
- CMake 配置调整:
src/cli/CMakeLists.txt更新,添加新的数据输入组件- 依赖关系优化,确保 FTXUI 组件正确链接
- 跨平台构建验证,Windows/Linux/macOS 全平台支持
⚠️ 重大变更 (Breaking Changes)
🎯 数据输入方式变更
- 输入界面重构:
- 手动数据输入现在使用现代化双栏界面,不再是传统的命令行逐个输入
- 操作流程改变:启动界面 → 双栏输入 → Ctrl+S 保存 → 继续测试
- 用户需要适应新的键盘操作方式,但体验更加直观和高效
🔧 默认配置调整
- 文件浏览器优化:
- 默认最大显示项目数从 15 调整为 25,更好利用终端空间
- 动态计算算法改进,适应更多终端环境
- 配置文件格式保持兼容,自动升级到新默认值
- 修复关键 bug:解决了动态计算功能被错误配置值限制的问题
- 智能适应算法:实现了真正的终端尺寸自适应显示
📝 翻译键更新
- 国际化键值变更:
- 新增多个 UI 专用翻译键,旧版本翻译文件需要更新
- 移除所有硬编码文本,确保完整的多语言支持
- 翻译文件向下兼容,缺失键值自动降级到英文
🎯 用户体验革命
⚡ 效率提升
- 数据输入效率:
- 双栏并排输入,避免频繁切换和重复操作
- 自动焦点跳转,Enter 键完成编辑并移动到下一行
- 大数据集滚动浏览,不再受限于固定显示行数
- 实时验证反馈,减少输入错误和重复修正
🎨 视觉体验
- 现代化界面设计:
- 清晰的数据结构展示,类似专业数据处理软件
- 直观的状态指示,实时了解操作状态和数据有效性
- 和谐的配色方案,减少视觉疲劳
- 响应式布局适应,在各种终端尺寸下都有最佳体验
🔧 操作便利性
- 人性化交互设计:
- 符合直觉的键盘操作,降低学习成本
- 容错性强的输入处理,支持随时取消和修改
- 完整的操作指南,界面内置帮助信息
- 无需记忆复杂命令,图形化操作引导
📚 文档与支持
📖 使用指南更新
- 新用户引导:
- 数据输入界面完整操作说明
- 键盘快捷键参考表
- 常见使用场景和最佳实践
- 故障排除和性能优化建议
🛠️ 开发者资源
- 技术文档:
- DataEditor API 完整文档
- 配置选项详细说明
- 自定义扩展和集成指南
- 国际化翻译贡献指南
🔮 未来发展方向
🎯 短期计划
- 功能增强:
- 数据导入/导出集成到现代化界面
- 更多键盘快捷键和操作选项
- 数据验证规则自定义
- 模板和预设数据支持
🚀 长期愿景
- 平台扩展:
- Web 界面类似功能实现
- 移动终端适配优化
- 云端数据同步支持
- 第三方工具集成接口
NTT v2.9.0 release
[2.9.0] - 2025-05-31
🔧 Excel 文件支持完善
- 实现真正的 .xlsx 文件读取功能
- 基于 ZIP 解压的 Excel 文件解析引擎,无需第三方库
- 支持复杂的 Excel 文件结构和多工作表文件
- 智能工作表检测和选择功能
- 共享字符串表完整支持,正确处理 Excel 中的文本内容
- 自动列类型识别,智能检测时间列和数据列
- 高效的内存管理,支持大型 Excel 文件处理
✨ 用户体验优化
- Excel 导入流程完全重构
- 移除硬编码的"不支持 Excel"错误提示
- 增强的文件格式检测,自动识别 .xlsx、.xls、.csv 格式
- 智能数据验证,确保导入数据的完整性和正确性
- 友好的错误提示和明确的解决建议
- 数据预览功能,导入前可查看文件内容概览
🛠️ 技术架构提升
- 现代化的 Excel 处理引擎
- 使用标准 C++17 实现,无需额外依赖
- 跨平台兼容性,支持 Windows、Linux、macOS
- 临时文件自动清理机制,避免磁盘空间占用
- 完善的异常处理和错误恢复机制
- 支持降级处理,Excel 解析失败时提供 CSV 转换建议
📝 翻译资源扩展
- 新增 Excel 处理相关翻译键
excel.processing_xlsx:正在处理 Excel 文件提示excel.xls_not_supported:旧版 Excel 格式不支持提示excel.parse_failed:Excel 文件解析失败提示excel.fallback_suggestion:降级处理建议- 完整的中英文对照翻译,保持国际化一致性
🐛 问题修复
- 🐛 修复 Excel 文件导入时显示硬编码错误提示的问题
- 🐛 修复 .xlsx 文件无法正确识别和处理的问题
- 🐛 修复 Excel 导入功能名不副实的问题
- 🐛 修复 文件格式检测不准确的问题
⚠️ 重要变更
- Excel 支持:现在真正支持 .xlsx 文件格式,不再只是框架
- 文件格式:.xls 格式仍不支持,建议转换为 .xlsx 或 .csv
- 用户体验:Excel 导入现在是完整的功能而不是占位符
🔧 技术改进
- 解析性能:优化 Excel 文件解析速度,支持大文件处理
- 内存效率:改进内存使用,避免大文件导致的内存溢出
- 错误处理:增强错误处理机制,提供更好的用户反馈
- 代码质量:重构 ExcelReader 类,提高代码可维护性
NTT v2.7.1 release
[2.7.1] - 2025-05-30
🌐 国际化系统完善
- 彻底消除硬编码文本 - 修复 Web 服务器启动模块的国际化问题
- 替换
web_main.cpp中所有硬编码启动信息为翻译系统调用 - 信号处理、错误信息、帮助文档全部使用翻译键
- 与
cli_main.cpp保持一致的国际化实现方案 - 支持运行时语言切换和动态翻译更新
- 替换
✨ 模板系统优化
- 完善 getTextf 模板函数 - 优化格式化文本处理机制
- 修复模板函数链接错误,添加缺失的模板实例化
- 支持
std::string非引用版本的模板参数 - 充分利用现有的格式化文本系统,避免代码重复
- 提供类型安全的多参数格式化支持
🐛 问题修复
- 🐛 修复 Web 服务器启动时显示硬编码中文文本的问题
- 🐛 修复 信号处理函数无法正确显示翻译文本的问题
- 🐛 修复 帮助信息无法根据语言设置显示对应文本的问题
- 🐛 修复
getTextf模板函数的链接错误
⚠️ 重要变更
- 启动信息国际化:Web 服务器启动信息现在完全支持中英文切换
- 模板实例化扩展:添加了
std::string值类型的模板实例化 - 翻译键命名规范:所有 Web 服务器相关翻译键采用
web.app.*前缀
NTT v2.3.0 release
[2.3.0] - 2025-05-29
🔧 重要修复
- 静态编译优化 - 彻底解决 Windows 运行库依赖问题
- 完全静态链接 MinGW 运行时库
- 消除
libwinpthread-1.dll、libgcc_s_seh-1.dll、libstdc++-6.dll依赖 - 可执行文件现在只依赖 Windows 系统库,可在任何 Windows 机器上运行
- 更新 CMake 配置,添加
-static -pthread -Wl,-Bstatic链接选项
🌐 国际化改进
- 消除硬编码文本 - 修复 Web 界面翻译键显示问题
- 替换所有硬编码中英文文本为翻译系统调用
- 修复
result.test_results、action.save_dataset等翻译键映射错误 - 添加 75+个新翻译键,涵盖所有前端功能模块
- 优化翻译 API 性能,支持实时语言切换
🚀 用户体验优化
- 自动启动流程 - CLI 应用现在自动启动 Web 服务器
- 程序启动时自动启动 Web 服务器并打开浏览器
- 提供 Web 界面/CLI 界面选择,默认推荐 Web 界面
- 优化用户引导流程,降低使用门槛
- 改进错误处理,提供清晰的失败反馈
NTT v2.2.1 release
[2.2.1] - 2025-05-29
🔧 智能配置管理
- ✅ 新增 用户私有配置文件系统,配置与系统默认分离
- ✅ 新增 智能配置加载:用户私有 > 系统默认 > 内置默认
- ✅ 新增 权限友好设计,无权限时自动降级到只读模式
- ✅ 新增 用户系统文件目录 (
data/usr/) 自动管理
🌍 国际化完善
- 🐛 修复 标准值模块硬编码中文文本,完全支持多语言
- 🐛 修复 程序启动时翻译键显示英文的问题
- ✅ 新增 25 个新翻译键,覆盖错误、成功、警告消息
🐛 Bug 修复
- 🐛 修复 置信度显示精度问题(现在正确显示 0.990 而不是 0.9)
- 🐛 修复 自定义置信度导入过程中的硬编码文本显示
⚠️ 重要变更
- 配置文件:现在优先使用
data/usr/config_private.json - 目录结构:新增
data/usr/用户配置目录 - 启动顺序:翻译系统在配置系统之前初始化
🔄 向后兼容
- ✅ 保持所有现有功能和配置格式兼容
- ✅ 自动从旧版本迁移配置和标准值文件
- ✅ 无缝升级体验,无需手动操作
其他变更
⚠️ 不再提供编译包,用户请使用git拉取主分支代码自行构建
NTT v2.2.0 release
[2.2.0] - 2025-05-28
🌐 统一启动方式
Web 服务器集成
- ✅ 新增 CLI 应用中集成 Web 服务器启动功能
- ✅ 新增 在主菜单中添加"启动 Web 服务器"选项
- ✅ 新增 Web 服务器配置界面,支持端口和 Web 资源目录设置
- ✅ 新增 Web 服务器状态管理,支持启动、停止和状态查询
- ✅ 新增 智能端口配置,支持自定义端口并保存到配置文件
启动脚本简化
- ✅ 新增 统一启动脚本
start.bat(Windows) 和start.sh(Linux/macOS) - ✅ 移除 独立的 Web 启动脚本,简化项目结构
- ✅ 改进 启动脚本提供中英文双语说明
- ✅ 优化 错误处理和用户提示信息
用户体验改进
- ✅ 新增 Web 服务器后台运行模式,用户可继续使用 CLI 功能
- ✅ 新增 Web 服务器访问 URL 显示,方便用户打开浏览器
- ✅ 新增 Web 服务器使用说明和操作指导
- ✅ 新增 智能冲突检测,避免重复启动服务器
🎯 自定义置信度交互优化
选项式交互界面
- ✅ 改进 自定义置信度设置改为选项式交互,提升用户体验
- ✅ 新增 选项 1:手动输入自定义置信度值和标准值文件
- ✅ 新增 选项 2:从示例文件目录加载预设置信度配置
- ✅ 新增 示例文件自动扫描和列表显示功能
示例文件管理
- ✅ 新增 自动扫描
data/sample/ConfidenceLevel/目录中的示例文件 - ✅ 新增 支持 JSON 和 CSV 格式的示例文件选择
- ✅ 新增 示例文件置信度自动检测和显示
- ✅ 新增 示例文件加载的智能错误处理
🧮 核心算法优化
智能趋势判断逻辑
- ✅ 重大改进 诺依曼趋势测试的整体趋势判断算法
- ✅ 新增 药物稳定性测试专用的智能趋势检测逻辑
- ✅ 实现 末端连续趋势点检测:如果末端连续有 2 个或更多趋势点,判断为存在显著趋势
- ✅ 新增 少量测试点的特殊处理:对于 ≤3 个测试点,如果超过一半显示趋势也判断为有趋势
- ✅ 移除 简单的"只要有一个测试点判断存在趋势,整体就视为存在趋势"的旧逻辑
- ✅ 优化 趋势判断更适合药物稳定性研究的实际需求
结果显示一致性修复
- ✅ 修复 汇总结果和测试结论使用不同判断逻辑的问题
- ✅ 统一 所有结果显示组件使用相同的
overallTrend判断标准 - ✅ 移除 平均 PG 值与 1.0 比较的旧逻辑,改为使用智能趋势判断结果
- ✅ 确保 CLI 界面、Web 界面、批量处理报告的结果显示一致性
🎨 用户界面改进
菜单显示优化
- ✅ 修复 主菜单编号对齐问题,数字位数不同导致的文本内容不对齐
- ✅ 新增 菜单项编号固定宽度格式化,使用
std::setw(2)确保对齐 - ✅ 支持 最多 99 个菜单项的对齐显示
- ✅ 改进 菜单视觉美观度和可读性
状态栏双语支持
- ✅ 修复 右上角置信度显示硬编码英文"Confidence"的问题
- ✅ 新增
status.confidence翻译键,支持中英文双语显示 - ✅ 实现 置信度显示的完整国际化支持
- ✅ 统一 状态栏所有元素的双语适配
🔧 技术架构改进
Web 服务器集成架构
- ✅ 新增 TerminalUI 类中的 Web 服务器成员变量和管理方法
- ✅ 新增
startWebServer()方法实现完整的 Web 服务器生命周期管理 - ✅ 新增 Web 服务器配置持久化,端口设置自动保存
- ✅ 新增 析构函数确保 Web 服务器正确停止
翻译系统扩展
- ✅ 新增 Web 服务器相关的完整中英文翻译键
- ✅ 新增 自定义置信度交互相关的翻译键
- ✅ 新增 错误处理和用户提示的翻译支持
📚 文档更新
用户文档
- ✅ 更新 README.md,反映新的统一启动方式
- ✅ 更新 版本号从 v2.1.0 升级到 v2.2.0
- ✅ 更新 发布包结构说明,移除独立 Web 应用
- ✅ 更新 使用指南,详细说明 Web 服务器集成功能
项目结构
- ✅ 简化 启动脚本,只保留统一的 start.bat 和 start.sh
- ✅ 优化 项目根目录结构,减少文件数量
- ✅ 改进 发布包组织,更加简洁明了
🐛 问题修复
交互体验修复
- 🐛 修复 自定义置信度设置的用户体验问题
- 🐛 修复 示例文件路径处理的兼容性问题
- 🐛 修复 Web 服务器重复启动的检测逻辑
核心算法修复
- 🐛 修复 趋势判断逻辑不一致导致的用户困惑问题
- 🐛 修复 汇总结果显示与测试结论不匹配的问题
- 🐛 修复 平均 PG 值判断逻辑与实际趋势检测结果不符的问题
显示问题修复
- 🐛 修复 主菜单编号对齐问题
- 🐛 修复 置信度显示语言硬编码问题
- 🐛 修复 翻译文件中置信度显示格式不一致问题
⚠️ 重要变更
- 趋势判断算法:采用新的智能趋势判断逻辑,更适合药物稳定性测试
- 启动方式变更:现在只需要运行一个启动脚本,Web 功能集成在 CLI 中
- Web 服务器管理:Web 服务器现在作为 CLI 的一个功能模块,而非独立应用
- 自定义置信度交互:改为更友好的选项式交互方式
- 项目结构简化:移除了独立的 Web 启动脚本
🔄 向后兼容性
- ✅ 保持 所有现有配置文件格式兼容
- ✅ 保持 数据文件和标准值文件格式兼容
- ✅ 保持 CLI 功能完全兼容
- ✅ 保持 Web 界面功能完全兼容
[2.1.0] - 2025-05-26
🎨 用户界面增强
置信度配置系统优化
- ✅ 新增 可视化置信度设置菜单,支持预设值选择(90%, 95%, 99%)
- ✅ 新增 自定义置信度输入功能,支持 0.0-1.0 范围内任意值
- ✅ 新增 置信度配置持久化保存,重启后保持用户设置
- ✅ 改进 置信度选择界面,动态显示支持的置信度水平
- ✅ 新增 默认值标识,清晰显示推荐的 95%置信度
状态栏显示系统
- ✅ 新增 右上角状态栏,实时显示当前置信度水平
- ✅ 新增 应用标题和状态信息的美观布局
- ✅ 新增 彩色状态栏,使用青色和绿色突出显示重要信息
- ✅ 改进 终端宽度自适应,确保状态栏在不同终端下正确显示
测试流程优化
- ✅ 改进 新建测试流程,自动使用配置的置信度而非每次询问
- ✅ 新增 置信度使用提示,告知用户当前使用的置信度水平
- ✅ 新增 设置修改引导,提示用户可在设置菜单中更改置信度
- ✅ 优化 测试结果显示,更清晰地展示使用的置信度参数
结果显示美化
- ✅ 改进 测试结果汇总框的边框设计,使用完整的闭合边框
- ✅ 优化 边框宽度计算,确保内容正确对齐
- ✅ 新增 彩色边框支持,根据测试结果使用不同颜色
- ✅ 改进 内容填充计算,解决边框对齐问题
🔧 配置系统改进
配置文件路径管理
- ✅ 新增
setConfigFilePath()方法,支持动态设置配置文件路径;导出的svg文件默认保存在data/svg目录下 - ✅ 修复 配置保存路径不一致问题,确保加载和保存使用相同路径
- ✅ 改进 启动逻辑,正确设置配置文件路径后再进行保存操作
- ✅ 新增 配置目录自动创建,确保配置文件能够正确保存
语言设置持久化
- ✅ 修复 语言设置无法持久保存的问题
- ✅ 改进 语言切换流程,立即保存设置并提供用户反馈
- ✅ 新增 配置保存状态提示,告知用户设置是否成功保存
- ✅ 优化 语言菜单返回逻辑,设置完成后自动返回主菜单
🏗️ 架构优化
应用启动流程改进
- ✅ 改进 CLI 应用启动逻辑,正确处理 release 文件结构
- ✅ 修复 配置文件加载顺序,确保路径设置在配置保存之前完成
- ✅ 新增 配置目录检查和创建逻辑
- ✅ 优化 错误处理,提供更友好的启动失败提示
代码质量提升
- ✅ 改进 边框计算逻辑,使用更精确的宽度计算方法
- ✅ 优化 颜色输出代码,统一使用 TerminalUtils 进行彩色输出
- ✅ 重构 状态栏显示代码,提高代码可维护性
- ✅ 完善 注释和文档,提高代码可读性
🐛 问题修复
显示问题修复
- 🐛 修复 测试结果汇总框边框对齐问题
- 🐛 修复 状态栏在不同终端宽度下的显示问题
- 🐛 修复 彩色输出在某些终端下的兼容性问题
- 🐛 修复 边框宽度计算错误导致的显示异常
配置问题修复
- 🐛 修复 置信度设置无法保存的问题
- 🐛 修复 语言设置重启后丢失的问题
- 🐛 修复 配置文件路径不一致导致的保存失败
- 🐛 修复 配置目录不存在时的创建失败问题
📚 文档更新
用户文档
- ✅ 更新 README.md,添加 v2.1.0 新功能说明
- ✅ 新增 置信度配置使用指南
- ✅ 新增 状态栏功能说明
- ✅ 更新 版本号和发布包信息
开发文档
- ✅ 完善 代码注释,特别是新增功能的注释
- ✅ 更新 变更日志,详细记录所有改进和修复
- ✅ 新增 配置系统架构说明
⚠️ 重要变更
- 配置文件路径:现在正确支持 release 文件结构下的配置保存
- 置信度设置:新的可视化设置界面,支持更灵活的配置
- 状态栏显示:新增的状态栏提供实时的应用状态信息
- 测试流程:简化的测试流程,减少用户重复输入
🔄 向后兼容性
- ✅ 保持 所有现有配置文件格式兼容
- ✅ 保持 命令行参数和 API 兼容性
- ✅ 支持 旧版本配置文件自动升级
- ✅ 保持 数据文件格式完全兼容
其他
- 移除
.vscode/文件索引
NTT v2.0.0 版本发布
[2.0.0] - 2025-05-24
🚀 重大更新 - 完整三阶段改进
这是一个重大版本更新,包含了完整的三阶段系统改进,显著提升了用户体验、功能性和可靠性。
🌐 第一阶段:基础设施建设
双语国际化支持系统
- ✅ 新增 完整的中文/英文双语界面支持
- ✅ 新增 运行时语言切换功能
- ✅ 新增 外部翻译文件支持 (
config/translations.json) - ✅ 新增 内置默认翻译作为后备
- ✅ 新增 便利宏
_()和_f()简化多语言开发 - ✅ 实现文件:
include/core/i18n.h,src/core/i18n.cpp
统一配置管理系统
- ✅ 新增 JSON 格式配置文件 (
config/config.json) - ✅ 新增 自动创建默认配置
- ✅ 新增 运行时配置修改和持久化保存
- ✅ 新增 单例模式确保全局配置一致性
- ✅ 支持配置项: 语言设置、路径配置、置信度、UI 选项、数据处理限制
- ✅ 实现文件:
include/core/config.h,src/core/config.cpp
增强错误处理系统
- ✅ 新增 分类错误代码系统(文件、数据、计算、网络、配置、系统)
- ✅ 新增 多语言错误消息和用户友好的解决建议
- ✅ 新增 自定义异常类
NeumannException - ✅ 新增 统一错误日志记录和显示
- ✅ 实现文件:
include/core/error_handler.h,src/core/error_handler.cpp
🎨 第二阶段:用户体验提升
彩色终端输出系统
- ✅ 新增 完整的 ANSI 颜色支持(16 色 + 亮色变体)
- ✅ 新增 文本样式支持(加粗、斜体、下划线等)
- ✅ 新增 自动平台检测和兼容性处理
- ✅ 新增 Windows 10+ ANSI 转义序列支持
- ✅ 新增 便利的消息类型函数(成功、警告、错误、信息)
- ✅ 实现文件:
include/cli/terminal_utils.h,src/cli/terminal_utils.cpp
进度指示器和加载动画
- ✅ 新增 可配置的进度条显示
- ✅ 新增 旋转加载指示器(Spinner)
- ✅ 新增 实时进度更新和光标控制
- ✅ 新增 清屏和终端操作功能
增强的表格格式化
- ✅ 新增 自动列宽调整和多种对齐方式
- ✅ 新增 彩色表格分隔线
- ✅ 新增 内容截断和省略处理
- ✅ 新增 中文字符宽度正确计算
Excel 文件支持基础架构
- ✅ 新增 文件类型自动检测(.csv, .xlsx, .xls)
- ✅ 新增 增强的 CSV 解析(支持引号字段)
- ✅ 新增 自动列类型检测(数值/文本)
- ✅ 新增 智能时间列和数据列识别
- ✅ 新增 数据预览和验证功能
- ✅ 实现文件:
include/core/excel_reader.h,src/core/excel_reader.cpp
CLI 界面全面美化
- ✅ 改进 集成彩色输出到所有界面元素
- ✅ 改进 美化的欢迎界面和菜单系统
- ✅ 改进 彩色的测试结果表格(趋势结果颜色编码)
- ✅ 改进 进度指示器集成
- ✅ 改进 统一的消息样式和错误显示
🔧 第三阶段:标准值修正和验证
标准值表数据修正
- 🐛 修复 标准值表中 P(95%)和 P(99%)数据不匹配问题
- 🐛 修复 JSON 文件中数据排序问题,确保按样本数升序排列
- ✅ 更新 置信度选择界面,动态显示支持的置信度
- ✅ 验证 大数据集处理能力(4-60 个数据点)
- ✅ 新增 大数据集测试文件:
large_dataset_45_points.csv(45 个数据点)extra_large_dataset_55_points.csv(55 个数据点)
批量处理系统
- ✅ 新增 目录扫描和批量文件处理
- ✅ 新增 实时进度显示和错误处理
- ✅ 新增 批量结果汇总和统计分析
- ✅ 新增 CSV 和 HTML 格式的批量报告导出
- ✅ 实现文件:
include/core/batch_processor.h,src/core/batch_processor.cpp
数据可视化系统
- ✅ 新增 ASCII 艺术图表(CLI 内实时显示)
- ✅ 新增 SVG 格式高质量矢量图表导出
- ✅ 新增 趋势图、PG 值分布图、阈值比较图
- ✅ 实现文件:
include/core/data_visualization.h,src/core/data_visualization.cpp
高级统计功能
- ✅ 新增 多数据集统计分析
- ✅ 新增 趋势检测统计汇总
- ✅ 新增 PG 值分布分析
- ✅ 新增 数据集比较功能
🛠️ 技术架构改进
模块化设计
- ✅ 重构 核心算法、CLI 界面、Web 服务完全分离
- ✅ 实现 单例模式确保全局状态一致性
- ✅ 应用 RAII 模式实现自动资源管理
性能优化
- ✅ 优化 静态链接,无运行时依赖
- ✅ 优化 O(n²)时间复杂度的 PG 值计算算法
- ✅ 优化 数据流式处理,支持大型数据集
跨平台兼容性
- ✅ Windows: 原生 ANSI 颜色支持,UTF-8 编码
- ✅ Linux/macOS: 完整 POSIX 兼容,终端颜色自适应
- ✅ Web 标准: HTML5 + JavaScript,现代浏览器支持
📁 文件发布系统改进
发布包生成
- ✅ 改进
create-release.bat脚本,支持特殊字符文件名 - ✅ 新增 自动复制标准值参考文件(MD 和 PDF 格式)
- ✅ 改进 用户说明文档生成
- ✅ 新增 完整的目录结构说明
启动脚本更新
- ✅ 更新
start-cli-app.bat和start-web-app.bat - ✅ 新增 参数传递支持
- ✅ 改进 错误处理和用户提示
📊 数据处理能力扩展
扩展的数据点支持
- ✅ 扩展 样本数量支持从 4-20 扩展到 4-60
- ✅ 验证 大数据集处理稳定性
- ✅ 新增 置信度支持:95%, 99%, 99.9%(移除 0.90 和 0.975)
数据格式支持
- ✅ 完善 CSV 文件解析,支持复杂格式
- ✅ 准备 Excel 文件支持框架
- ✅ 新增 数据验证和清理功能
🌐 多语言支持完善
翻译内容扩展
- ✅ 新增 558 项完整的中英文翻译条目
- ✅ 覆盖 所有 UI 元素、错误消息、帮助信息
- ✅ 新增 Excel 文件、批量处理、数据可视化相关翻译
- ✅ 新增 教程系统和统计分析翻译
国际化框架
- ✅ 支持 运行时语言切换
- ✅ 支持 外部翻译文件加载
- ✅ 支持 格式化字符串翻译
⚙️ 配置系统完善
配置项扩展
{
"language": "zh", // 界面语言
"defaultConfidenceLevel": 0.95, // 默认置信度
"dataDirectory": "data", // 数据目录
"webRootDirectory": "web", // Web资源目录
"defaultWebPort": 8080, // Web端口
"showWelcomeMessage": true, // 显示欢迎消息
"enableColorOutput": true, // 彩色输出
"maxDataPoints": 1000, // 最大数据点数
"autoSaveResults": true // 自动保存结果
}🧪 测试和验证
示例数据扩展
- ✅ 新增
large_dataset_45_points.csv- 45 个数据点的药物含量趋势 - ✅ 新增
extra_large_dataset_55_points.csv- 55 个数据点的活性成分衰减 - ✅ 保留 原有示例数据集
- ✅ 新增 大数据集处理说明文档
功能验证
- ✅ 验证 标准值表数据正确性
- ✅ 验证 大数据集处理稳定性
- ✅ 验证 跨平台兼容性
- ✅ 验证 彩色输出在不同终端的表现
📚 文档更新
用户文档
- ✅ 全面更新 README.md,包含完整功能介绍
- ✅ 新增 快速开始指南和详细使用说明
- ✅ 新增 故障排除和性能建议章节
- ✅ 新增 技术特性和架构说明
开发文档
- ✅ 新增 贡献指南和开发环境设置
- ✅ 更新 构建说明和依赖要求
- ✅ 完善 API 文档和代码注释
🔄 向后兼容性
- ✅ 保持 原有数据格式兼容性
- ✅ 保持 命令行参数兼容性
- ✅ 支持 配置文件自动迁移
- ✅ 保持 Web API 兼容性
⚠️ 重大变更
- 置信度支持变更:移除 0.90 和 0.975 置信度,标准化为 0.95, 0.99, 0.999
- 样本数量扩展:从 4-20 扩展到 4-60 个数据点
- 配置文件格式:新增多个配置项,旧配置文件会自动升级
- 文件结构调整:标准值文件和翻译文件位置调整
其他改进
- 移除
create-release.bat:该发布脚本现在更名为install.bat,存放在NTT-x86_64-windows-v2.0.0-build.zip中,供 Windows 用户自行构建release - 添加
.clang-format:统一代码风格 - 修改
config/文件可见性:移除普通用户在程序中修改默认配置的权限,用户配置单独储存
NTT v1.2.0 版本发布
变更日志 (Changelog)
[1.2.0] - 2025-05-21
构建系统升级
- 集成 CMakePresets.json,提供标准化构建配置
- 添加 6 个预设配置:msvc-release、msvc-debug、mingw-release、mingw-debug、linux-release、linux-debug
- 支持不同编译器和平台的无缝切换
- 自动配置 vcpkg 和编译器路径
- 优化依赖项检测逻辑,避免自动下载阻塞构建流程
- 为 MSVC 和 MinGW 工具链提供专用构建预设
- 移除冗余的构建脚本,简化构建命令
- 改进输出目录结构
- 二进制文件现统一输出至项目根目录的 bin 文件夹
- 库文件统一输出至项目根目录的 lib 文件夹
- 简化程序访问路径,便于直接调用
- 更新启动脚本,自动查找新路径下的可执行文件
应用程序启动改进
- 添加标准化启动脚本
- 新增 start-cli-app.bat/sh 用于启动命令行应用
- 更新 start-web-app.bat 适配新的输出目录
- 自动检测不同构建环境下的可执行文件位置
- 支持命令行参数传递
- 添加预编译版本发布功能
- 新增 create-release.bat/sh 脚本自动创建发布包
- 支持一键打包应用程序及所需资源
- 生成适用于最终用户的简化说明文档
开发工具增强
- 大幅改进 clangd 配置,修复源码解析问题
- 使用.clangd 配置文件替代旧的 setup-clangd.bat 脚本
- 添加智能包含路径检测,支持不同构建目录结构
- 配置多个库路径备选项,提高解析成功率
- 添加编译器特定路径支持
- 优化 .clangd 配置文件,提供更准确的包含路径
- 完善 VSCode 集成配置,增强编辑体验
- 添加编译器特定的路径支持,解决跨编译器使用问题
项目结构优化
- 清理冗余构建脚本和辅助文件
- 移除了 10 个冗余脚本文件,包括:build-preset、cleanup-scripts、run-web-utf8 等
- 合并功能到标准化的 build.bat/build.sh 脚本中
- 删除了 mingw-toolchain.cmake,通过 CMakePresets 替代
- 更新 .gitignore 规则
- 优化项目文档结构
- 简化构建和设置流程
[1.1.0] - 2025-05-20
构建系统改进
- 添加平台自动检测功能,根据平台选择合适的工具链
- 改进 Windows 平台 MinGW 工具链支持
- 添加自定义 MinGW 工具链配置文件
- 为 clangd 语言服务器添加支持
- 更新构建脚本,支持不同编译器选择
开发体验
- 添加 VSCode 配置文件,优化开发体验
- 自动生成 compile_commands.json 文件
- 配置 clangd 语言服务器与 MinGW 集成
- 文档更新,增加高级构建配置说明
[1.0.0] - 2025-5-11
项目重构
- 完全重构项目结构,采用模块化设计
- 创建了核心模块、CLI 模块和 Web 模块
- 使用 CMake 构建系统管理项目
- 添加了测试框架和单元测试
新功能
- 支持多种置信水平 (0.90, 0.95, 0.975, 0.99)
- 样本大小支持从 4 到 20
- 添加数据管理功能,支持保存和加载数据集
- 增强 CSV 导入功能
- 添加交互式终端界面 (使用 FTXUI 库)
- 添加 Web 界面 (使用 Crow 框架)
- JSON 文件存储所有标准 W(P)值
文档
- 创建详细的 README 文件
- 添加构建说明和使用说明
- 添加示例数据文件
开发工具
- 添加 Windows 和 Linux/Mac 构建脚本
- 配置单元测试和 CTest 集成
- 自动下载依赖库