Files
u-desk/docs/07-项目管理/功能清单/功能清单.md
T

19 KiB
Raw Blame History

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 处理函数
  • 验证: 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
收藏超链接 中 收藏夹支持网址链接
历史浏览记录 中 访问历史记录

验证清单

功能验证流程

  1. 文件管理验证

    • 浏览不同盘符
    • 打开文件夹
    • 查看不同类型文件
    • 右键菜单所有功能
    • 收藏/取消收藏
    • 重命名文件
    • 删除文件
  2. 编辑器验证

    • 编辑文本文件
    • 保存文件(Ctrl+S)
    • 查看 Markdown
    • 查看 HTML
    • 查看图片/视频/PDF
    • 编辑/预览切换
    • 代码高亮
  3. 界面验证

    • 主题切换
    • 窗口控制
    • Tab 切换
    • 侧边栏开关
    • 响应式布局
  4. 快捷键验证

    • 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 切换预览/编辑模式
  • ✅ 代码质量改进:
    • 提取 useCommonPaths composable
    • 统一常量管理(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 状态说明(实际为模块化结构)
  • ✅ 验证右键菜单功能完整性
  • ✅ 验证所有快捷键实现
  • ✅ 验证文件类型支持

核对总结

✅ 验证通过项

  1. 架构确认

    • 当前使用模块化结构:frontend/src/components/FileSystem/index.vue
    • 子组件位于:components/ 和 composables/ 目录
    • 不是单文件 FileSystem.vue,而是模块化架构
  2. 右键菜单功能 ✅ 完整实现

    • 新建文件 (Ctrl+N)
    • 新建文件夹 (Ctrl+Shift+N)
    • 系统默认程序打开
    • 重命名 (F2)
    • 删除 (Del)
  3. 快捷键实现 ✅ 全部实现

    • 基础快捷键:Ctrl+S, Ctrl+B, Ctrl+N, Ctrl+Shift+N, F2, Del
    • 额外快捷键:F5 刷新
    • 盘符快捷键:Ctrl+Shift+C/D/E/F/G/H
  4. 文件类型支持 ✅ 全面支持

    • 文本、代码、Markdown、HTML
    • 图片、视频、音频、PDF
    • ZIP 压缩包(浏览和提取)
    • 二进制文件友好提示
  5. 已修复 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 下次审查: 每次发版前


相关文档