需求:有时候经常需要填入一些表格,如:家庭成员情况,学习经历等表格。

当前动作库中主要是常用语动作,好像没有辅助表格录入的动作。
借助AI做了一个动作,勉强能符合自己的需求,有无大佬能做一个更好的吗?感觉是有用户需求的。

给AI提的需求是:
快捷表格数据录入浮窗
- ==================================================
一、 总体方案与技术路线
- 界面框架:基于 Quicker 原生 WPF。
- 输入方式:模拟键盘字符输入(避免直接粘贴占用剪贴板或被部分软件拦截)。
- 导入规范:以 Excel 复制的制表符(Tab)分隔文本为主要解析源,第一行默认作为表头。
- 整行复制:字段间以制表符(Tab)拼接,复制后仅存入剪贴板,不触发自动输入。
- 数据同步:依托 Quicker 自带的云状态存取实现多表格的自动同步。
- ==================================================
二、 窗口外观与基础交互
- 窗口样式:
- 无边框(WindowStyle="None"),设置圆角与轻微投影。
- 默认全局置顶(Topmost="True"),自动记忆上次关闭时的位置与窗口大小。
- 窗口控制:
- 顶部保留拖拽区域(或按住非交互空白区域可直接拖动窗口)。
- 右上角提供“关闭”按钮;支持按 Esc 键快速关闭窗口。
- 该窗口不占用焦点,便于点击输入内容到其它窗口中。
- ==================================================
三、 核心功能模块详细设计
【模块 1:左侧侧边栏(多表格管理)】
- 表格列表展示:
- 列出所有已保存的表格名称,点击可切换右侧展示的内容。
- 表格管理操作:
- 双击可重命名某表格
- 支持在表格项上右键选择或“删除”(删除时需弹窗确认)。
- 录入入口:
- 提供“从剪贴板中新建表格”按钮,用户可以输入表格名称
【模块 2:剪贴板数据录入与解析(Excel TSV 规范)】
- 数据读取:
- 解析流程:
- 按换行符拆分出每一行。
- 第 1 行:按制表符(Tab)拆分为各列字段,作为表格的表头(列名)。若存在重名列,自动添加序号后缀(如“备注”、“备注_1”)。
- 第 2 行至末尾:按制表符拆分并填充为各行数据。若某行列数不足,自动补空。
【模块 3:右侧主体区域(表格展示与数据交互)】
- 动态呈现:
- 根据当前选中表格的列结构,动态生成表格列(DataGridTextColumn)。
- 单元格文字过长时截断显示,鼠标悬停时浮现 Tooltip 显示完整内容。
- 操作列(整行复制):
- 在表格首列或末列固定一列操作列,每行提供一个“复制”按钮。
- 点击该按钮:将当前行的数据用制表符拼接为完整字符串,仅写入系统剪贴板。
- 触发轻量状态提示(如右下角冒泡或 Tooltip 提示“整行已复制到剪贴板”)。
- 单元格点击交互(核心模拟输入):
- 点击具体单元格时,后台提取该单元格的文本内容(若为空则不触发)。
- 将该内容模拟输入到目标窗口中。
- 浮窗继续保持在原位,方便用户连续点击输入多个内容。
【模块 4:Quicker 云状态同步机制】
- 本地与云端协同:
- 动作打开时,优先加载本地缓存数据保证毫秒级秒开,随后异步向 Quicker 云端校验最新状态。
- 自动同步逻辑:
- 只要发生表格“新增”、“删除”、“重命名”等写操作,立即更新本地数据,并启动 1.5 秒防抖(Debounce)倒计时。
- 倒计时结束后,自动调用 Quicker 云状态存储接口,将全量数据回传云端。
- 状态显示:
- 窗口底部设置小指示点:绿色代表已同步,黄色代表本地已变更或同步中。
- ==================================================
四、 异常与容错处理
- 剪贴板无效数据:
- 点击导入时,若剪贴板无内容或不含制表符/多行结构,弹出提示:“未检测到有效的表格数据,请先在 Excel 中复制选区”。