4.1 KiB
4.1 KiB
Moba Workspace 回归清单
适用范围:
frontend/src/layouts/MobaLayout.vuefrontend/src/components/SessionTree.vuefrontend/src/components/WorkspacePanel.vuefrontend/src/components/SftpPanel.vuefrontend/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 页面应避免状态来源不一致