19 KiB
19 KiB
U-Desk 功能清单
应用版本:v0.3.3 更新时间:2026-02-28 10:00 用途:测试、开发、迭代过程中验证核对 核对状态:✅ 已通过Git版本对比 + 源码验证 核对报告:功能清单核对报告.md
📋 目录
核心功能
应用模块
| 功能 | 状态 | 说明 | 验证方法 |
|---|---|---|---|
| 数据库管理 | ✅ 已实现 | 支持 MySQL 连接管理和数据查询 | 打开"数据库"标签页,测试连接 |
| 文件管理 | ✅ 已实现 | 本地文件系统浏览和管理 | 打开"文件管理"标签页,浏览文件 |
| 设备测试 | ✅ 已实现 | 设备调用测试功能 | 打开"设备调用测试"标签页 |
应用配置
| 功能 | 状态 | 说明 | 验证方法 |
|---|---|---|---|
| Tab 显示/隐藏 | ✅ 已实现 | 可配置显示哪些功能模块 | 设置 → Tab 管理 |
| 默认 Tab 设置 | ✅ 已实现 | 设置应用启动时的默认页面 | 设置 → 选择默认 Tab |
| 主题切换 | ✅ 已实现 | 亮色/暗色主题切换 | 点击顶部主题切换按钮 |
| 窗口控制 | ✅ 已实现 | 最小化、最大化、关闭 | 点击窗口右上角按钮 |
文件管理系统
文件浏览
| 功能 | 状态 | 说明 | 验证方法 |
|---|---|---|---|
| 盘符切换 | ✅ 已实现 | 动态获取所有盘符(C/D/E/F 等) | 点击工具栏盘符下拉菜单 |
| 目录导航 | ✅ 已实现 | 前进、后退、向上导航 | 使用工具栏导航按钮 |
| 路径输入 | ✅ 已实现 | 直接输入路径跳转 | 在路径输入框输入路径 |
| 快捷访问 | ✅ 已实现 | 桌面、文档、下载等快捷入口 | 点击工具栏快捷访问下拉 |
| 文件列表 | ✅ 已实现 | 显示当前目录文件列表 | 浏览任意目录 |
| 文件图标 | ✅ 已实现 | 根据文件类型显示图标 | 查看不同类型文件的图标 |
| 文件信息 | ✅ 已实现 | 显示文件名、大小、修改时间 | 查看文件列表 |
文件操作
| 功能 | 状态 | 说明 | 验证方法 |
|---|---|---|---|
| 打开文件 | ✅ 已实现 | 点击文件查看内容 | 点击任意文本文件 |
| 双击打开目录 | ✅ 已实现 | 双击文件夹进入目录 | 双击文件夹 |
| 右键菜单 - 打开 | ✅ 已实现 | 使用系统默认程序打开 | 右键文件 → 选择打开 |
| 右键菜单 - 重命名 | ✅ 已实现 | F2 快捷键重命名 | 右键文件 → 重命名或按 F2 |
| 右键菜单 - 删除 | ✅ 已实现 | Del 快捷键删除文件 | 右键文件 → 删除或按 Del |
| 右键菜单 - 新建文件 | ✅ 已实现 | Ctrl+N 新建文件 | 右键空白处 → 新建文件 |
| 右键菜单 - 新建文件夹 | ✅ 已实现 | Ctrl+Shift+N 新建文件夹 | 右键空白处 → 新建文件夹 |
| 文件重命名 | ✅ 已实现 | 编辑文件名 | 见 BUG 9 修复 |
| 文件删除 | ✅ 已实现 | 删除文件或文件夹 | 右键菜单 → 删除 |
收藏功能
| 功能 | 状态 | 说明 | 验证方法 |
|---|---|---|---|
| 收藏文件/文件夹 | ✅ 已实现 | 添加到收藏夹 | 右键文件 → 收藏 |
| 查看收藏列表 | ✅ 已实现 | 侧边栏显示收藏 | 点击侧边栏收藏按钮 |
| 取消收藏 | ✅ 已实现 | 从收藏夹移除 | 侧边栏收藏项右键 → 取消收藏 |
| 收藏夹开关 | ✅ 已实现 | Ctrl+B 快捷键 | 按 Ctrl+B |
压缩包支持
| 功能 | 状态 | 说明 | 验证方法 |
|---|---|---|---|
| ZIP 预览 | ✅ 已实现 | 浏览 ZIP 压缩包内容 | 点击 ZIP 文件 |
| ZIP 内文件预览 | ✅ 已实现 | 查看 ZIP 内文件内容 | 双击 ZIP 内文件 |
| TAR 预览 | ❌ 待实现 | 浏览 TAR 压缩包 | - |
| 解压到当前目录 | ❌ 待实现 | 右键菜单解压功能 | - |
编辑器功能
文件类型支持
| 类型 | 状态 | 说明 | 验证方法 |
|---|---|---|---|
| 文本文件 | ✅ 已实现 | 纯文本文件查看和编辑 | 打开 .txt 文件 |
| Markdown | ✅ 已实现 | Markdown 预览和编辑,支持本地链接 | 打开 .md 文件 |
| HTML | ✅ 已实现 | HTML 预览和编辑 | 打开 .html 文件 |
| 代码文件 | ✅ 已实现 | 语法高亮支持(含 Shell) | 打开 .js/.py/.go/.sh 等文件 |
| 图片文件 | ✅ 已实现 | 图片预览 | 打开 .png/.jpg 文件 |
| 视频文件 | ✅ 已实现 | 视频播放 | 打开 .mp4 文件 |
| 音频文件 | ✅ 已实现 | 音频播放 | 打开 .mp3 文件 |
| PDF 文件 | ✅ 已实现 | PDF 预览 | 打开 .pdf 文件 |
| Office 文件 | ✅ 已实现 | Excel/Word 预览 | 打开 .xlsx/.docx 文件 |
| CSV 文件 | ✅ 已实现 | CSV 表格预览 | 打开 .csv 文件 |
| 二进制文件 | ✅ 已实现 | 友好的二进制提示 | 打开 .exe/.dll 文件 |
编辑功能
| 功能 | 状态 | 说明 | 验证方法 |
|---|---|---|---|
| 编辑模式 | ✅ 已实现 | 编辑/预览模式切换 | 点击编辑/预览按钮 |
| 保存文件 | ✅ 已实现 | Ctrl+S 保存 | 修改内容后按 Ctrl+S |
| 保存提示 | ✅ 已实现 | 内容变化显示保存图标 | 修改内容查看工具栏 |
| 内容变更检测 | ✅ 已实现 | 检测文件是否修改 | 修改文件后查看图标 |
| Tab 键支持 | ❌ 待实现 | Tab 键输入制表符 | - |
| 代码折叠 | ✅ 已实现 | 折叠代码块 | 点击代码左侧折叠按钮 |
| 行号显示 | ✅ 已实现 | 显示行号 | 查看编辑器左侧 |
编辑器 UI
| 功能 | 状态 | 说明 | 验证方法 |
|---|---|---|---|
| 分屏显示 | ✅ 已实现 | 文件列表和编辑器并排 | 查看主界面 |
| 面板宽度调整 | ✅ 已实现 | 拖拽调整面板宽度 | 拖拽面板边界 |
| 编辑器高度调整 | ✅ 已实现 | 拖拽调整编辑器高度 | 拖拽编辑器底部 |
| 全屏预览 | ❌ 待实现 | 全屏查看文件 | - |
用户界面
窗口
| 功能 | 状态 | 说明 | 验证方法 |
|---|---|---|---|
| 窗口拖拽 | ✅ 已实现 | 拖拽标题栏移动窗口 | 拖拽标题栏 |
| 窗口最小化 | ✅ 已实现 | 最小化到任务栏 | 点击最小化按钮 |
| 窗口最大化 | ✅ 已实现 | 最大化/还原窗口 | 点击最大化按钮 |
| 窗口关闭 | ✅ 已实现 | 关闭应用 | 点击关闭按钮 |
主题
| 功能 | 状态 | 说明 | 验证方法 |
|---|---|---|---|
| 亮色主题 | ✅ 已实现 | 浅色背景 | 主题切换按钮 |
| 暗色主题 | ✅ 已实现 | 深色背景 | 主题切换按钮 |
| 主题记忆 | ✅ 已实现 | 记住用户选择 | 重启应用验证 |
响应式
| 功能 | 状态 | 说明 | 验证方法 |
|---|---|---|---|
| 无抖动刷新 | ✅ 已实现 | 点击文件不抖动 | 见 BUG 5 修复 |
| 平滑过渡 | ✅ 已实现 | 动画过渡效果 | 切换文件观察 |
快捷键
全局快捷键
| 快捷键 | 功能 | 状态 | 验证方法 |
|---|---|---|---|
| Ctrl+S | 保存当前编辑 | ✅ 已实现 | 编辑区按 Ctrl+S |
| Ctrl+B | 开关收藏夹 | ✅ 已实现 | 按 Ctrl+B |
| Ctrl+N | 新建文件 | ✅ 已实现 | 文件列表按 Ctrl+N |
| Ctrl+Shift+N | 新建文件夹 | ✅ 已实现 | 文件列表按 Ctrl+Shift+N |
| F2 | 重命名选中文件 | ✅ 已实现 | 选中文件按 F2 |
| Del | 删除选中文件 | ✅ 已实现 | 选中文件按 Del |
| F5 | 刷新文件列表 | ✅ 已实现 | 按 F5 |
| Ctrl+Shift+C/D/E/F/G/H | 快速打开对应盘符 | ✅ 已实现 | Ctrl+Shift+C 打开C盘 |
待实现快捷键
| 快捷键 | 功能 | 状态 | 说明 |
|---|---|---|---|
| - | 打开/关闭历史记录 | ❌ 待实现 | 历史浏览记录功能 |
| - | 打开/关闭快捷访问 | ❌ 待实现 | 快捷键切换快捷访问面板 |
自定义快捷键
| 功能 | 状态 | 说明 |
|---|---|---|
| 修改现有快捷键 | ❌ 待实现 | 设置中配置快捷键 |
| 自定义新快捷键 | ❌ 待实现 | 为文件夹/文件设置快捷访问 |
已修复 BUG
Bug #5 - 窗口抖动
- 问题: 点击文件时整个窗口抖动刷新
- 修复: 移除不必要的组件 key,使用 nextTick 优化
- 验证: 点击文件,除文件内容区外其他地方不抖动
- 文件:
frontend/src/components/FileSystem/index.vue,frontend/src/components/CodeEditor.vue
Bug #6 - 保存图标不显示
- 问题: 文件编辑后保存图标未显示
- 修复: 使用 toRefs 保持响应性
- 验证: 修改文件内容,工具栏保存图标正确显示
- 文件:
frontend/src/components/FileSystem/components/FileEditorPanel.vue
Bug #7 - 重复空提示
- 问题: 文件列表为空时出现两个提示
- 修复: 添加 v-if 条件渲染
- 验证: 空文件夹只显示"此文件夹为空"
- 文件:
frontend/src/components/FileSystem/components/FileListPanel.vue
Bug #8 - 二进制文件处理
- 问题: 二进制文件大小显示错误,内容乱码
- 修复:
- 修复 formatBytes 函数
- 添加二进制内容检测
- 显示友好提示信息
- 验证: 打开 .exe 文件,显示友好提示而非乱码
- 文件:
frontend/src/utils/fileUtils.js,frontend/src/components/FileSystem/composables/useFileEdit.ts
Bug #9 - 文件重命名未回显
- 问题: 重命名时文件名未显示在输入框
- 修复: 修改 props.config.editingFileName 为 props.config.editingFileName
- 验证: 右键文件 → 重命名,输入框显示原文件名
- 文件:
frontend/src/components/FileSystem/components/FileListPanel.vue
Bug #10 - 目录权限判断过严
- 问题: 无法访问 C:\Recovery 等目录
- 修复:
- 移除
\recovery和\programdata限制 - 优化错误消息显示
- 移除
- 验证: 可以访问 C:\Recovery 目录
- 文件:
internal/filesystem/path_validator.go
Bug #11 - 右键菜单功能核对
- 问题: 需要核对右键菜单功能完整性
- 验证结果: ✅ 功能完整
- 当前实现: 模块化结构(FileSystem/components/ContextMenu.vue)
- 验证: 右键菜单包含:新建文件、新建文件夹、系统默认程序打开、重命名、删除
- 文件:
frontend/src/components/FileSystem/components/ContextMenu.vue
Bug #12 - 文件重命名无法输入
- 问题: 文件列表中的文件重命名时,输入框无法输入新内容
- 修复:
- FileListPanel 添加
nameUpdate事件到 Emits 接口 - FileListPanel 的
handleNameUpdate函数实现事件转发 - index.vue 添加
@name-update事件监听和handleNameUpdate处理函数
- FileListPanel 添加
- 验证: F2 重命名文件,可以正常输入、删除、修改文件名
- 文件:
frontend/src/components/FileSystem/components/FileListPanel.vue,frontend/src/components/FileSystem/index.vue - 详细修复报告: file-rename-input-fix.md
Bug #13 - 重命名失败显示 undefined
- 问题: 重命名文件时,提示"重命名成功"后,又弹出"重命名失败: undefined"
- 修复:
- 改进错误处理,使用
error?.message || error?.toString() || '未知错误'提取错误信息 - 重命名当前打开的文件时,更新
selectedFileItem的路径和名称,而不是清空选中
- 改进错误处理,使用
- 验证: 重命名当前打开的文件,文件内容区正常显示;重命名失败显示具体错误信息
- 文件:
frontend/src/components/FileSystem/index.vue - 详细修复报告: rename-error-fix.md
待修复 BUG
Bug #1 - Build 模式下 Ctrl+S 无反应
- 问题: 某些场景下保存快捷键无响应
- 优先级: 中
- 影响: 生产环境用户体验
Bug #2 - 超链接打开遮挡窗口
- 问题: 打开超链接时整个窗口被遮挡
- 优先级: 中
- 期望: 在文件预览区展示,不遮挡窗口
Bug #3 - 亮色主题代码未高亮
- 问题: 亮色主题下代码文件没有语法高亮
- 优先级: 低
- 影响: 代码可读性
Bug #4 - 快捷键打开不存在盘符提示 undefined
- 问题: 错误提示显示
undefined - 优先级: 低
- 期望: 显示具体盘符路径
问题 6 - 保存功能验证
- 状态: bug 验证未通过
- 优先级: 高
- 需要: 重新验证保存功能是否正常
待开发功能
文件系统扩展
| 功能 | 优先级 | 说明 |
|---|---|---|
| 云服务器(Linux) | 高 | 通过 SSH 连接 Linux 服务器 |
| 其他 Windows | 中 | 远程访问其他 Windows 机器 |
| 云 OSS 文件系统 | 中 | 支持七牛、阿里云、腾讯云 |
| 拖拽移动文件 | 高 | 拖拽文件移动到其他目录 |
编辑器增强
| 功能 | 优先级 | 说明 |
|---|---|---|
| Tab 键填入制表符 | 中 | 编辑器支持 Tab 输入制表符 |
| 全屏预览 | 低 | 全屏模式查看文件 |
| 代码格式化 | 低 | 自动格式化代码 |
| 查找替换 | 中 | 文件内容查找和替换 |
压缩包功能
| 功能 | 优先级 | 说明 |
|---|---|---|
| TAR 预览 | 中 | 支持 TAR 压缩包浏览 |
| 解压功能 | 高 | 右键菜单解压到当前目录 |
| 压缩功能 | 中 | 选择文件/文件夹压缩 |
账号与云同步
| 功能 | 优先级 | 说明 |
|---|---|---|
| 账号登录 | 高 | 用户账号系统 |
| 云同步 | 高 | 收藏夹、配置云端同步 |
| 授权码激活 | 中 | 功能授权管理 |
其他功能
| 功能 | 优先级 | 说明 |
|---|---|---|
| 意见反馈 | 低 | 用户反馈入口 |
| 心愿清单 | 低 | 功能建议收集 |
| 版本信息 MD 格式 | 低 | 版本更新信息支持 Markdown |
| 收藏超链接 | 中 | 收藏夹支持网址链接 |
| 历史浏览记录 | 中 | 访问历史记录 |
验证清单
功能验证流程
-
文件管理验证
- 浏览不同盘符
- 打开文件夹
- 查看不同类型文件
- 右键菜单所有功能
- 收藏/取消收藏
- 重命名文件
- 删除文件
-
编辑器验证
- 编辑文本文件
- 保存文件(Ctrl+S)
- 查看 Markdown
- 查看 HTML
- 查看图片/视频/PDF
- 编辑/预览切换
- 代码高亮
-
界面验证
- 主题切换
- 窗口控制
- Tab 切换
- 侧边栏开关
- 响应式布局
-
快捷键验证
- Ctrl+S 保存
- Ctrl+B 收藏夹
- Ctrl+N 新建文件
- F2 重命名
- Del 删除
更新日志
2026-02-28 10:00
- ✅ 新增:Office 文件预览(Excel/Word)
- ✅ 新增:CSV 文件表格预览
- ✅ 新增:Shell/Bash 语法高亮支持
- ✅ 新增:Markdown 本地文件链接支持
- ✅ 优化:本地文件服务器 CORS 支持
- ✅ 更新:版本号更新至 v0.3.2
2026-01-31 20:00
- ✅ 修复 Bug #13 - 重命名失败显示 undefined
- 改进错误处理逻辑,避免显示 "undefined"
- 重命名当前打开的文件时,更新路径而不是清空选中
- 修复同时打开的文件加载失败问题
- ✅ 创建详细的 Bug 修复报告文档
2026-01-31 19:30
- ✅ 修复 Bug #12 - 文件重命名无法输入新内容
- ✅ 实现快捷键
Ctrl+Shift+V切换预览/编辑模式 - ✅ 代码质量改进:
- 提取
useCommonPathscomposable - 统一常量管理(UI_TEXT, VALIDATION_RULES)
- 修复 toggleFav 函数未定义问题
- 添加 FILE_DRAFT 到 STORAGE_KEYS
- 提取
- ✅ 功能优化:
- 点击文件夹进入目录时,保持已打开文件内容不变
- 面板宽度调整后持久化(重启应用恢复)
- 路径持久化(重启应用恢复上次浏览目录)
- ✅ 创建详细修复报告文档
2026-01-30 18:15
- ✅ 完成Git版本对比核对
- ✅ 完成源码逐项验证
- ✅ 完成需求文档对照
- ✅ 创建详细核对报告
- ✅ 验证所有描述准确性
- ✅ 修正应用版本号(使用实际Git标签v0.2.0)
- ✅ 文档可靠性确认
2026-01-30 18:05
- ✅ 通过源码验证功能清单准确性
- ✅ 补充 F5 刷新快捷键
- ✅ 补充 Ctrl+Shift+C/D/E/F/G/H 盘符快速切换
- ✅ 修正 Bug #11 状态说明(实际为模块化结构)
- ✅ 验证右键菜单功能完整性
- ✅ 验证所有快捷键实现
- ✅ 验证文件类型支持
核对总结
✅ 验证通过项
-
架构确认
- 当前使用模块化结构:
frontend/src/components/FileSystem/index.vue - 子组件位于:
components/和composables/目录 - 不是单文件 FileSystem.vue,而是模块化架构
- 当前使用模块化结构:
-
右键菜单功能 ✅ 完整实现
- 新建文件 (Ctrl+N)
- 新建文件夹 (Ctrl+Shift+N)
- 系统默认程序打开
- 重命名 (F2)
- 删除 (Del)
-
快捷键实现 ✅ 全部实现
- 基础快捷键:Ctrl+S, Ctrl+B, Ctrl+N, Ctrl+Shift+N, F2, Del
- 额外快捷键:F5 刷新
- 盘符快捷键:Ctrl+Shift+C/D/E/F/G/H
-
文件类型支持 ✅ 全面支持
- 文本、代码、Markdown、HTML
- 图片、视频、音频、PDF
- ZIP 压缩包(浏览和提取)
- 二进制文件友好提示
-
已修复 BUG ✅ 确认修复
- Bug #5-#10 均已修复
- Bug #11 验证无误(功能完整)
📝 文档说明
- 所有功能描述均与源码实现一致
- 快捷键列表已补充完整(包含 F5 和盘符切换)
- 文件路径使用实际模块化结构路径
- 时间戳精确到小时分钟
🔍 源码位置
| 模块 | 文件路径 |
|---|---|
| 主组件 | frontend/src/components/FileSystem/index.vue |
| 右键菜单 | frontend/src/components/FileSystem/components/ContextMenu.vue |
| 工具栏 | frontend/src/components/FileSystem/components/Toolbar.vue |
| 文件列表面板 | frontend/src/components/FileSystem/components/FileListPanel.vue |
| 编辑器面板 | frontend/src/components/FileSystem/components/FileEditorPanel.vue |
| 文件预览 | frontend/src/components/FileSystem/composables/useFilePreview.ts |
| 文件编辑 | frontend/src/components/FileSystem/composables/useFileEdit.ts |
| ZIP 支持 | internal/filesystem/zip.go |
- 本文档随项目迭代持续更新
- 测试时请按验证清单逐项检查
- 发现新问题及时更新到待修复 BUG
- 功能实现后更新对应状态
文档维护: 开发团队 最后更新: 2026-02-28 10:00 应用版本: v0.3.3 核对状态: ✅ 已通过Git版本对比 + 源码验证 + 需求对照 核对报告: 功能清单核对报告.md 下次审查: 每次发版前