Commit Graph

31 Commits

Author SHA1 Message Date
Ling 6d5b4a33b9 优化 UI 组件和提示信息格式
在 `MarkdownWpfRenderer.cs` 中,修改 `RenderHtmlBlock` 方法以支持 `<think>` 标签,返回包含进度条的 `Expander` 控件或直接返回文本块。更新 `PromptUtil.cs` 中的 `UsePrompt` 方法,增加当前时间和用户提问的 Excel 列信息格式。

在 `App.xaml` 中移除 `ThemeDictionary` 的 `ColorMode` 属性,简化主题定义。重构 `AiMessageControll.xaml` 的 UI,使用 `DockPanel` 和 `ButtonGroup`,并增加分隔线。

在 `ImportExcelPage.xaml` 中添加上下文菜单,调整 `TabControl` 和 `DataGrid` 属性以支持虚拟化,重构参数配置 UI,使用 `hc:Card` 和 `DockPanel` 结构。

在 `ImportExcelPage.xaml.cs` 中添加按钮点击事件处理程序以切换配置显示状态。在 `ImportViewModel.cs` 中更新 AI 消息处理逻辑,使用新提示格式,并添加 `_showConfig` 属性及其文档注释。
2025-03-05 23:14:54 +08:00
lihanbo 735fbfb83d 优化渲染逻辑和界面布局
在 `MarkdownWpfRenderer.cs` 中,更新了 `RenderHtmlBlock` 方法以处理以 `<think>` 开头的文本,返回包含进度条和可选择文本块的 `Expander` 控件。更新了 `App.xaml`,移除了 `mu:ThemeDictionary` 的 `ColorMode` 属性。修改了 `AiMessageControll.xaml`,将布局从 `StackPanel` 更改为 `DockPanel`,并添加了 `ButtonGroup`。在 `ImportViewModel.cs` 中,调整了调试模式下的消息处理逻辑,确保正确处理用户输入的消息。
2025-03-05 09:41:15 +08:00
lihanbo 0ab9b35fde 删除回答格式说明,调整用户交互逻辑
删除了关于如何在<思考>和<回答>标签中提供用户问题解答的说明。这一变更可能会影响代码的逻辑和输出格式,从而改变用户的交互方式。
2025-03-05 09:24:17 +08:00
lihanbo 3f9d3b3399 增强提示信息并更新上下文菜单
在 `PromptUtil.cs` 文件中,修改了提示信息的内容,增强了对用户的指导性和结构化,增加了当前时间和用户提问的Excel文件列信息的输出格式。同时,增加了思考过程和最终回答的标签,以便更好地组织和展示回答内容。

在 `ImportExcelPage.xaml` 文件中,将原有的 `DataTemplate` 替换为 `ContextMenu`,并保留了“问这一行数据”的菜单项,确保用户在右键菜单中可以询问相关数据。
2025-03-05 09:11:38 +08:00
lihanbo 73ad1cd308 优化界面布局和功能增强
在 `AiMessageControll.xaml` 中添加了 `hc:Divider` 控件,调整输入区域布局为 `DockPanel`,并简化发送消息界面。
在 `ImportExcelPage.xaml` 中新增 `DataGridContextMenu` 数据模板,优化 `DataGrid` 的右键菜单功能,并调整 `VirtualizingPanel` 属性。
使用 `hc:Card` 替代 `GridSplitter`,重新组织参数配置布局。
在 `ImportExcelPage.xaml.cs` 中添加按钮事件处理程序以切换配置面板显示状态。
在 `ImportViewModel.cs` 中新增 `_showConfig` 属性以控制配置信息的显示状态。
2025-03-05 09:00:44 +08:00
Ling 6d6935c84d 更新项目配置和重构代码逻辑
- 更新 .gitignore 文件以包含 Visual Studio 自动生成的内容。
- 在 launch.json 中添加 .NET Core 启动和附加配置。
- 在 tasks.json 中添加构建、发布和监视任务的配置。
- 修改 MarkdownWpfRenderer.cs 中表格列的遍历逻辑,使用更安全的列索引变量,并添加列对齐方式处理。
- 修改 Excel2Prompt.cs 中 ConverterToPrompt 方法的参数类型,更新列名处理逻辑。
- 重构 AiMessageControll.xaml.cs 中的发送命令逻辑,提取 InvokeSendCommand 方法以减少重复代码。
- 在 ImportViewModel.cs 中添加列名映射字典,更新 GenColumns 方法以使用该映射字典,改进 Excel 数据处理逻辑。
- 添加对 Excel 数据处理的逻辑,以支持使用列名映射。
- 移除不再需要的 GenColumns 方法的旧实现,并将扩展方法 ReplaceMultiple 移到类外部以提高可重用性。
2025-03-04 23:42:16 +08:00
Ling 67d7e93217 添加 CodeSpanControl 及相关功能改进
在 `CodeSpanControl.xaml` 中添加了用户控件,包含可选择的文本块和复制按钮,按钮样式在鼠标悬停时改变透明度。
在 `CodeSpanControl.xaml.cs` 中实现了 `Text` 属性的依赖属性支持,并添加了空的 `Copy_Click` 方法。
修改了 `MarkdownWpfRenderer.cs` 中的代码块渲染逻辑,移除进度条并在特定条件下使用 `CodeSpanControl`。
在 `PromptUtil.cs` 中更新提示文本,增加对 WPS 的支持,并调整思考过程格式。
移除 `ExcelHelper.csproj` 中与 Web 相关的项目项。
在 `Excel2Prompt.cs` 中修改 `ConverterToPrompt` 方法,增加 `sheetName` 参数并调整提示文本格式。
更新 `ImportViewModel.cs` 中对 `Excel2Prompt.ConverterToPrompt` 方法的调用,传递新参数并修改测试 AI 内容格式。
2025-03-04 23:39:58 +08:00
lihanbo 1f9dd20c87 优化 Excel 数据处理和命令发送逻辑
- 修改 `Excel2Prompt.cs` 中 `ConverterToPrompt` 方法,支持列名映射。
- 提取 `AiMessageControll.xaml.cs` 中的发送命令逻辑到 `InvokeSendCommand` 方法。
- 在 `ImportViewModel.cs` 中新增 `_columnMappings` 字典,增强 Excel 数据处理逻辑。
- 整合并简化 `GenColumns` 方法的实现。
- 新增 `StringExtensions` 静态类,提供字符串替换扩展方法。
- 更新 `launch.json` 和 `tasks.json`,新增调试和构建配置。
2025-03-04 16:02:39 +08:00
lihanbo cf3bd8a294 优化 MarkdownWpfRenderer.cs 中的表格处理逻辑
- 将未使用的循环变量名改为 `_`。
- 使用 `var` 简化 `colIndex` 的类型声明。
- 根据列的对齐方式设置单元格内容的水平对齐。
- 微调代码格式和注释,提高可读性。
2025-03-03 09:23:55 +08:00
lihanbo 5aabcbdda6 更新 .gitignore 文件
在 .gitignore 中添加 Visual Studio 自动创建的注释,并忽略 /src/.vs 目录。
2025-03-03 09:23:47 +08:00
lihanbo b85080c2ce 更新依赖和增强文件选择功能
在 `ExcelHelper.csproj` 中,将 `MiniExcel` 包版本从 `1.34.2` 升级到 `1.38.0`,并移除 `PolySharp` 包。
在 `ImportExcelPage.xaml` 中添加文件选择按钮,并设置相关属性。
在 `ImportExcelPage.xaml.cs` 中新增 `Button_Click` 方法以处理文件选择,及 `Grid_DragOver` 方法以支持拖拽文件功能。
2025-02-28 17:03:21 +08:00
lihanbo 8f42b5e5a7 增强 Markdown 渲染和 AI 交互功能
- 修改 `MarkdownWpfRenderer.RenderHtmlBlock` 方法,支持 `<think>` 标签并使用 `Expander` 控件展示内容。
- 更新 `AiHelper` 类,添加新的 API_KEY 注释。
- 调整 `PromptUtil.UsePrompt` 方法的注释,增加思考过程的要求。
- 新增 `StringEmptyToBoolConverter` 类,用于处理字符串空状态。
- 在 `MainWindow.xaml` 中注释掉部分 `SideMenu` 内容。
- 在 `AiMessageControll.xaml` 中集成 `StringEmptyToBoolConverter`,优化内容显示逻辑。
- 修改 `ImportExcelPage.xaml` 的文本绑定属性。
- 更新 `ImportViewModel.cs` 中 `AiHelper` 的实例化方式和变量声明,提升代码清晰度。
- 更新 `TEST_AI_CONTENT`,添加 `<think>` 标签示例。
2025-02-28 16:34:55 +08:00
lihanbo 78d65a6aff 修复AI流式传输时,界面闪烁的问题 2025-02-28 15:34:29 +08:00
lihanbo 33d13b62f1 增加MarkDown支持 2025-02-28 14:29:34 +08:00
lihanbo ae573e0ecb 移除不必要的控件 2025-02-28 10:27:16 +08:00
lihanbo 1aaed2ce0e 独立ChatMessage类 2025-02-28 10:26:58 +08:00
lihanbo 6c02a38c3f 切换项目结构 2025-02-28 09:20:53 +08:00
lihanbo a6d1c966d8 引入AI支持(火山引擎) 2025-02-28 08:41:23 +08:00
lihanbo 07ab6fa3cc 合并 2025-02-27 14:05:21 +08:00
lihanbo 8b85ede45c 移除无用内容 2025-02-27 14:04:28 +08:00
Ling cad060faf8 Merge branch 'ExcelPrompt' of http://8.134.144.137:3000/Ling0925/ExcelHelper into ExcelPrompt 2025-02-15 10:41:08 +08:00
Ling 89f54544c4 Add startCell parameter to ConverterToPrompt for enhanced Excel data processing 2025-02-15 10:41:05 +08:00
lihanbo 128f12e1d5 优化数据类型检查逻辑,提升代码可读性
在 `foreach` 循环中,将注释“检查是否为 Int”修改为“检查数据类型”,并将每个数据类型检查的注释移到相应的 `if` 语句之前。将多个 `if` 语句的检查条件从注释中移到代码中,使代码更具可读性。将原本的多个 `if-else` 语句替换为 `switch` 表达式,以简化代码结构和提高可读性。
2025-02-14 14:04:42 +08:00
lihanbo d1d2bebcd1 更新UI和文件处理逻辑
在 MainWindow.xaml 中,<Border> 元素增加 MinWidth="300" 属性。
在 Excel2Prompt.cs 中,增加提示列的代码。
在 ImportExcelPage.xaml 中,更新 <TextBlock> 的 Text 属性。
在 ImportExcelPage.xaml 中,<hc:TabControl> 增加 ShowCloseButton 和 ShowContextMenu 属性。
在 ImportExcelPage.xaml 中,增加 <ToolBar> 元素,包含 Button 和 Label。
在 ImportExcelPage.xaml.cs 中,Grid_DragEnter 方法增加可见性设置。
在 ImportExcelPage.xaml.cs 中,调整 Grid_Drop 和 Grid_DragLeave 方法的缩进。
在 ImportViewModel.cs 中,FileDrop 方法改为 Task,并增加文件扩展名检查。
2025-02-13 19:46:58 +08:00
lihanbo d9b0f3bf1e 更新 UI 和 ViewModel 以改进用户体验和功能
- 将 MainWindow.xaml 中的窗口标题从 "MainWindow" 更改为 "Excel助手"
- 调整了 MainWindow.xaml 中第一个 Grid 列的最小宽度,从 200 改为 100
- 删除了 MainWindow.xaml 中 SideMenu 的两个菜单项:“已导入的数据”和“查询”
- 更新了 MainWindow.xaml 中控件的 Padding、Background、BorderBrush 和 Width 属性
- 将 MainWindow.xaml 中的 TextBlock 替换为 hc:TextBox,并设置了 BorderBrush 和 BorderThickness 属性
- 更新了 ImportExcelPage.xaml 中 Grid 列的最小宽度和 DataGrid 的 RowHeight 属性
- 删除了 ImportExcelPage.xaml 中的“列信息”TabItem,并添加了新的“Columns2Prompt”TabItem
- 将 ImportExcelPage.xaml 中的 StackPanel 替换为 hc:Card,并调整了布局和样式
- 更新了 SqlQueryPage.xaml 中控件的 Visibility 属性和 ListBoxItem 的注释格式
- 调整了 SqlQueryPage.xaml 中 DataGrid 的 ColumnWidth 属性和 ScrollViewer.HorizontalScrollBarVisibility 属性的位置
- 在 ImportViewModel.cs 中添加了对 ExcelHelper.Utils 命名空间的引用
- 在 ImportViewModel.cs 中添加了 PromptString 属性,并在导入 Excel 数据时调用 Excel2Prompt.ConverterToPrompt 方法生成提示字符串
- 在 MainViewModel.cs 中删除了对 DataListPage 和 SqlQueryPage 的引用
- 添加了新的 Excel2Prompt 类,用于将 Excel 数据转换为 AI 可读的提示格式
2025-02-13 16:49:24 +08:00
lihanbo b1a10fea30 Update 优化 2025-01-22 16:56:28 +08:00
lihanbo bca7469cfa Add DuckDb查询支持 2025-01-06 12:19:00 +08:00
lihanbo bad4552f16 Update 2024-10-29 16:57:50 +08:00
lihanbo 05b41a5685 重构代码并添加新功能
在 `App.xaml.cs` 中,调整了命名空间的格式,并重新排列了代码块,使其更具可读性。

在 `MainWindow.xaml.cs` 中,添加了 `WeakReferenceMessenger.Default.Register<ErrorDialogMessage>` 的注册。

在 `HostExtension.cs` 中,调整了命名空间的格式,并将 `HostExtension` 类从内部类改为静态类,同时优化了 `AddViewAndViewModel` 方法的实现。

在 `ImportExcelPage.xaml` 中,添加了新的命名空间引用 `converter`,并添加了 `BooleanToVisibilityConverter` 和 `ReBooleanToVisibilityConverter` 转换器。同时,添加了新的 `LoadingMask` DataTemplate 和相关的 `ContentPresenter`,并对现有的控件属性进行了调整和优化。

在 `ImportExcelPage.xaml.cs` 中,删除了一些注释代码,并调整了命名空间的格式。

在 `ImportViewModel.cs` 中,添加了新的命名空间引用,并重构了 `ImportViewModel` 类,添加了异步方法 `ReadForExcel` 和 `GetSheets`,以及新的命令 `OnReLoadExcel` 和 `OnReadSheets`。同时,调整了属性的定义和初始化。

新增了 `BooleanConverter.cs` 文件,定义了一个通用的布尔值转换器类 `BooleanConverter<T>`。

新增了 `ReBooleanToVisibilityConverter.cs` 文件,定义了一个反转的布尔值到可见性转换器类 `ReBooleanToVisibilityConverter`。
2024-10-21 15:21:17 +08:00
lihanbo 9de71dcef1 添加项目文件。 2024-10-14 08:41:15 +08:00
lihanbo 7fbf085a9f 添加 .gitattributes 和 .gitignore。 2024-10-14 08:41:11 +08:00