Files
ssh-manager/docs/moba-regression-checklist.md
2026-04-16 23:28:26 +08:00

4.1 KiB

Moba Workspace 回归清单

适用范围:

  • frontend/src/layouts/MobaLayout.vue
  • frontend/src/components/SessionTree.vue
  • frontend/src/components/WorkspacePanel.vue
  • frontend/src/components/SftpPanel.vue
  • frontend/src/views/TransfersView.vue
  • 旧深链接兼容入口 /terminal/:id/sftp/:id

基础验证

构建

cd frontend
npm run build

启动

cd backend
mvn spring-boot:run

cd frontend
npm run dev

访问:

  • http://localhost:5173/login
  • 登录后应进入 /moba

登录与入口

登录

  • 使用有效账号登录
  • 首次管理员登录时,若触发强制改密,应能弹出改密弹窗
  • 登录后默认进入 /moba

兼容入口

  • 访问 /connections 应进入 /moba
  • 访问 /terminal 应进入 /moba
  • 访问 /transfers 应进入 /moba?tool=transfers
  • 访问 /terminal/:id 应打开对应连接的终端工作区后进入 /moba
  • 访问 /sftp/:id 应打开对应连接的文件工作区后进入 /moba

工作区

多实例

  • 在左侧连续点击同一连接两次,应创建两个独立工作区实例
  • 两个实例的顶部标签应能区分序号
  • 关闭其中一个实例,不应影响另一个实例

标签行为

  • 点击标签可切换活动工作区
  • 右键菜单中的“关闭当前 / 关闭其他 / 关闭右侧 / 关闭全部”行为正确
  • 顶部“复制会话”可基于当前实例创建一个新实例

面板控制

  • 顶部“终端”按钮可显隐终端面板
  • 顶部“文件”按钮可显隐 SFTP 面板
  • 两个面板都隐藏时,工作区应显示空态提示
  • “重置分屏”应把终端/SFTP 比例恢复为默认值

会话树

基础操作

  • 创建根文件夹
  • 创建子文件夹
  • 重命名文件夹
  • 删除文件夹
  • 删除连接节点

排序与拖拽

  • 手动排序模式下,节点可拖拽排序
  • 名称排序模式下,拖拽应禁用
  • 切换为名称排序后,文件夹应排在连接前面

搜索

  • 输入关键字后,应只显示匹配结果和必要层级
  • 匹配节点应显示高亮标记
  • 清空搜索后,应恢复完整树

同步

  • 修改连接名称后,会话树中的连接节点名称应同步更新
  • 删除连接后,会话树中的对应节点应被移除

SFTP

基础功能

  • 打开文件面板后应能列出目录
  • 可进入子目录
  • 可返回上级目录
  • 可直接输入路径并跳转
  • 可切换显示/隐藏隐藏文件
  • 可搜索当前目录文件

文件操作

  • 上传单个文件
  • 上传多个文件
  • 查看上传进度
  • 下载文件
  • 创建目录
  • 删除文件
  • 删除目录

远程传输

  • 从当前连接选择文件并打开远程传输弹窗
  • 选择目标连接和目标路径后可开始传输
  • 传输过程中应显示进度
  • 取消传输后应显示取消状态或取消提示

Transfers

Local -> Many

  • 选择本机文件
  • 选择目标目录
  • 选择多个目标连接
  • 调整并发
  • 开始后应生成队列任务

Remote -> Many

  • 选择源连接
  • 手输源文件路径并添加
  • 使用远程文件浏览器选择源文件
  • 选择目标目录或精确路径
  • 选择多个目标连接
  • 开始后应生成队列任务

队列

  • 队列应显示运行状态、进度、明细项
  • 运行中任务应可取消
  • 已完成/失败任务应保留在最近任务列表
  • 点击“清空队列”后,最近任务列表应被清空

响应式

窄屏

  • 小屏下左侧会话树应通过顶部按钮展开/收起
  • 打开工作区后,小屏侧栏应自动收起
  • Transfers 区域在小屏下不应出现明显横向溢出
  • 目标连接选择区、队列卡片和源文件按钮区应可正常折行

持久化

刷新恢复

  • 刷新页面后,工作区标签顺序应保留
  • 活动工作区应保留
  • SFTP 当前路径应保留
  • 分屏比例应保留
  • 会话树排序模式应保留

风险关注点

  • 同一连接多实例下,不应误复用旧工作区
  • 会话树在大量节点下不应出现明显卡顿或错位渲染
  • /terminal/:id/sftp/:id 兼容入口不应丢失目标连接语义
  • SFTP 远程传输与 Transfers 页面应避免状态来源不一致