Releases: tempChanghong/ClassSidebar
Releases · tempChanghong/ClassSidebar
v0.3.0 (Indev 3)
🚀 发布 v0.3.0 (Indev 3)
📝 摘要
本次更新主要集中在 系统工具 (System Tools) 组件的重构与增强,新增了 系统托盘 (System Tray) 支持,并对 设置窗口 进行了优化。重点解决了多任务视图触发的稳定性问题,并全面提升了 UI 交互反馈。
✨ 主要变更
🛠 系统工具与交互增强
- 新增功能:多任务视图 (Win+Tab)
- 在系统工具箱中添加了“多任务视图”按钮,可一键呼出 Windows 任务视图。
- 关键修复: 弃用了不稳定的 PowerShell 按键模拟方案(该方案易被杀软拦截且存在时序问题)。改为调用 Windows 原生 Explorer Shell CLSID (
shell:::{3080F90E-D7AD-11D9-BD98-0000947B0257}),确保了功能的 100% 稳定与安全。
- 抽屉 UI 重构:
- 重构
SystemToolsWidget,使用 Vue 3<Teleport>技术。抽屉现在被传送至侧边栏主容器内渲染,配合绝对定位,完美解决了此前的层级遮挡和点击穿透问题。 - 统一了组件结构,使用
BaseWidget封装,确保在 Grid 和垂直布局下表现一致。
- 重构
- 交互反馈优化:
- 为所有组件添加了 加载中 (Loading Spinner) 状态。点击工具时,图标会变暗并显示旋转动画,既防止了重复点击,又提供了直观的操作反馈。
🖥️ 桌面集成
- 系统托盘支持:
- 应用现在支持最小化到系统托盘。
- 托盘图标提供右键菜单(显示/隐藏、设置、退出)。
- 设置窗口重构:
- 清理了设置界面 UI。
- 移除了冗余的“快捷工具”配置项(该功能已完全由系统工具箱接管)。
🐛 问题修复与重构
- 修复: 解决了系统工具抽屉的点击穿透问题。
- 修复: 修正了系统工具组件宽度与其他组件不一致的问题(添加了
layout-vertical支持)。 - 重构: 优化了
SystemToolManager逻辑,使用更安全的spawn方式执行系统命令。
🧪 技术细节
- 多任务触发机制: 从
keybd_event模拟切换为explorer.exe shell:::{GUID}调用。 - UI 架构: 利用
Teleport将抽屉 DOM 节点移动至.sidebar-container,确保抽屉内容能正确继承侧边栏的圆角裁剪 (overflow: hidden) 和相对定位。
✅ 测试指南
- 系统工具: 打开抽屉并点击“多任务视图”。验证 Windows 时间线/任务视图是否立即打开,且未触发杀毒软件警告。
- 交互反馈: 点击任意工具(如任务管理器)。验证图标是否短暂显示加载动画。
- 托盘功能: 关闭主窗口,验证应用是否驻留在托盘。右键点击托盘图标测试菜单功能。
- 设置界面: 检查“通用”选项卡,确认旧版的“快捷工具”配置区已移除。
v0.2.0 (Indev 2)
🚀 发布 v0.2.0 (Indev 2)
📝 变更摘要 (Summary)
本次更新主要集中在 UI/UX 的全面优化、核心交互逻辑的修复以及组件功能的增强。重点解决了侧边栏在触控设备上的交互问题,统一了所有组件的视觉风格,并显著提升了设置页面的用户体验。
✨ 新增功能 (Features)
- 组件 UI 统一: 重构了
Launcher,Url,Command等组件,统一使用BaseWidget,确保视觉风格(背景、圆角、悬停效果)的一致性。 - 布局选项: 为启动器组件添加了“垂直列表”和“网格布局”选项,满足不同场景下的显示需求。
- 图标自定义: 设置页面现在支持选择
.png,.jpg,.ico等多种格式的图片作为组件图标。 - 命令执行增强: 系统命令组件现在支持选择 Shell 环境(CMD, PowerShell, Bash),并能正确弹出终端窗口执行命令。
- 设置体验优化: 引入 Element Plus 反馈组件,为添加、删除、保存等操作提供清晰的 Toast 提示和确认对话框。
🐛 Bug 修复 (Fixes)
- 触控交互: 修复了触控设备上侧边栏展开后立即收起、拖动异常等问题,优化了触摸事件的处理逻辑。
- 侧边栏尺寸: 彻底解决了保存配置或拖动后,侧边栏高度意外重置或位置计算错误的问题。
- 窗口同步: 修复了垂直拖拽调整位置后,窗口尺寸未正确同步导致的 UI 截断或错位问题。
- 命令执行: 修复了系统命令组件无法调取终端执行指令的 Bug。
♻️ 代码重构 (Refactoring)
- 交互逻辑: 深度优化了
useSidebarInteractionComposable,解耦了尺寸调整与拖拽逻辑,提升了代码的可维护性和稳定性。 - 组件架构: 提取通用逻辑至
BaseWidget,减少了代码冗余。
📅 更新日志 (Changelog)
v0.2.0 (2026-01-17)
Features
feat(settings): 优化设置页面交互体验与状态反馈feat(widgets): 统一组件 UI 风格并修复命令执行与侧边栏交互问题feat: 优化 UI 布局并添加垂直 / 网格布局选项feat: 上传 icons 文件夹中的图标文件
Fixes
fix: 修复触控设备侧边栏展开后立即收起的问题,并统一组件 UI 风格fix: 修复触控设备拖动异常及优化 UI 布局fix: 修复侧边栏展开后高度重置及收起位置计算错误的问题fix: 彻底解决侧边栏尺寸与拖拽冲突问题fix(ui): 修复垂直拖拽后窗口尺寸重置问题fix(sidebar): 修复触摸交互和窗口调整逻辑
Refactor
refactor: 优化侧边栏尺寸与拖拽逻辑 (WIP)
✅ 测试计划 (Test Plan)
- 触控测试: 在触摸屏设备上测试侧边栏的拖拽展开、收起及垂直移动,确认无误触或回弹异常。
- 组件测试: 添加不同类型的组件(URL, Command, Launcher),验证图标显示、布局切换及点击响应是否正常。
- 命令测试: 配置 PowerShell 命令(如
echo hello),确认能弹出窗口并保持显示。 - 设置测试: 尝试添加、删除组件并保存 JSON,验证 Toast 提示和确认框是否正常弹出。
v0.1.0 (Indev 1)
ClassSidebar v0.1.0 "DOOR" (Indev 1)
我们很高兴地宣布 ClassSidebar 的首个公开测试版本 v0.1.0,代号 「DOOR」。这个版本标志着我们从原型验证迈向了功能完善的阶段,带来了全新的架构、现代化的 UI 以及强大的组件系统。
Warning
警告:本版本为 Indev (开发中) 版本,可能包含严重 Bug,请勿在生产环境或重要教学场景中使用。
🚀 新增功能与改进
🎨 全新 UI 与架构重构
- 现代化设计: 引入 Tailwind CSS v4 和 Lucide 图标库,全面重构了设置页面和侧边栏 UI,带来磨砂玻璃效果和精致的视觉体验。
- 组件化架构: 将复杂的交互逻辑提取为 Composable (
useSidebarInteraction),显著提升了代码的可维护性和扩展性。 - TypeScript 升级: 全面完善了类型定义,消除了大量
any类型隐患,提升了开发体验和代码健壮性。
🧩 增强的 Widget 系统
- 可视化管理: 新增了可视化的组件管理器,支持拖拽排序、添加、编辑和删除组件。
- 新组件类型:
- UrlWidget: 支持一键打开网页链接。
- CommandWidget: 支持执行 PowerShell/CMD 系统命令。
- Launcher 增强: 启动器现在支持显示自定义名称,并兼容了旧版的 Grid 布局。
🛠️ 核心稳定性修复
- 配置系统: 重写了 Store 初始化逻辑,移除了 Schema 强校验,引入了自动迁移机制 (
runMigration),彻底解决了配置加载崩溃和保存失败的问题。 - 窗口管理: 修复了侧边栏在修改配置后尺寸卡死的问题,实现了窗口尺寸与配置的实时同步。
- 命令执行: 升级了 IPC 处理逻辑,支持
spawn(shell: true),现在可以正确执行dir,ipconfig等内置命令。
🐛 已知问题 (Known Issues)
尽管我们付出了巨大努力,但本版本仍存在以下已知问题,将在后续版本中修复:
- 侧边栏高度异常: 在保存 JSON 配置后,侧边栏的高度可能会出现计算偏差,导致显示不完整或位置偏移。
- 垂直拖拽失效: 目前侧边栏的垂直拖拽功能可能无法正常工作,导致无法调整其在屏幕上的 Y 轴位置。
🤝 参与贡献
我们需要您的帮助!如果您在使用过程中遇到任何问题,或者有好的想法,请务必:
- 提交 Issue: 详细描述您遇到的问题复现步骤。
- 提交 PR: 我们非常欢迎高质量的 Pull Request,特别是针对上述已知问题的修复。