# 学习助手 **Repository Path**: jensmith/learning-assistant ## Basic Information - **Project Name**: 学习助手 - **Description**: 使用AI生成的学习计划助手 - **Primary Language**: JavaScript - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-04-20 - **Last Updated**: 2026-04-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 学习助手 - Study Assistant 一款简洁、高效的 Windows 桌面学习管理工具,帮助用户规划学习目标、追踪学习进度、养成良好的学习习惯。 ![版本](https://img.shields.io/badge/version-v1.0.0-blue) ![License](https://img.shields.io/badge/license-MIT-green) ## 功能特性 ### 📋 学习计划管理 - 创建、编辑、删除学习计划 - 设置计划开始和截止日期 - 计划状态自动标识(未开始、进行中、已完成、已逾期) - 计划筛选和排序(按日期、按名称、按进度) - 查看计划详情和任务完成情况 ### ✅ 任务管理 - 在计划下添加、编辑、删除任务 - 任务优先级设置(高/中/低) - 任务预计时长设置 - 标记任务完成/未完成 - 任务列表实时更新进度 ### 📊 统计分析 - 今日完成任务数统计 - 本周/本月学习趋势图 - 各计划完成度对比 - 学习时长统计 - 任务完成历史记录 - 按日期筛选历史记录 - 历史记录展开/收起查看 ### 🪟 桌面特性 - **悬浮球/悬浮窗**:快速查看学习状态,支持拖拽移动,自动吸附到可见显示器 - **系统托盘**:最小化到托盘,后台运行,托盘图标快捷操作 - **无边框窗口**:自定义窗口控制按钮(最小化、最大化/还原、关闭) - **多显示器支持**:悬浮球跨显示器移动时自动调整位置 ### 💾 数据存储 - 本地 JSON 文件存储(Electron 模式) - Web 模式使用 localStorage - 数据自动保存,关闭应用不丢失 ## 技术栈 | 技术 | 说明 | | --- | --- | | Vue 3 | 前端框架 (Composition API) | | Element Plus | UI 组件库 | | Pinia | 状态管理 | | Vue Router | 路由管理 | | Electron | 桌面应用框架 | | dayjs | 日期处理 | | Vite | 构建工具 | | electron-builder | 应用打包 | ## 项目结构 ``` studyAssistant/ ├── doc/ # 文档目录 │ ├── PRD.md # 产品需求文档 │ ├── ROADMAP.md # 版本路线图 │ ├── DESIGN_SYSTEM.md # 设计系统 │ └── PAGE_DESIGNS.md # 页面设计 ├── electron/ # Electron 相关文件 │ ├── main.js # Electron 主进程 │ └── preload.js # 预加载脚本 ├── src/ # 源代码目录 │ ├── views/ # 页面组件 │ │ ├── Dashboard.vue # 仪表板 │ │ ├── Plans.vue # 学习计划列表 │ │ ├── PlanDetail.vue # 计划详情 │ │ └── Stats.vue # 统计分析 │ ├── stores/ # Pinia 状态管理 │ │ └── study.js # 学习数据存储 │ ├── router/ # 路由配置 │ │ └── index.js # 路由定义 │ ├── App.vue # 根组件 │ └── main.js # 入口文件 ├── build/ # 构建资源 │ └── icon.ico # 应用图标 ├── index.html # HTML 模板 ├── package.json # 项目配置 ├── vite.config.js # Vite 配置 └── README.md # 项目文档 ``` ## 快速开始 ### 环境要求 - Node.js >= 16.x - npm >= 8.x 或 pnpm >= 8.x ### 安装依赖 ```bash npm install ``` ### 开发模式 **Web 模式(推荐先试用)** ```bash npm run dev ``` 在浏览器中打开 http://localhost:5173 **Electron 开发模式** ```bash npm run electron:dev ``` ### 构建应用 ```bash # Web 构建 npm run build # Electron 应用打包 npm run electron:build:win ``` 打包后的应用位于 `release` 目录下。 ## 使用指南 ### 创建学习计划 1. 点击底部导航「学习计划」 2. 点击「新建计划」按钮 3. 填写计划名称、描述、开始日期和截止日期 4. 点击「保存」 ### 添加任务 1. 进入计划详情页 2. 点击「添加任务」按钮 3. 填写任务名称、描述、优先级和预计时长 4. 点击「保存」 ### 标记任务完成 在任务列表中,点击任务左侧的复选框即可标记完成/未完成。 ### 查看统计数据 点击底部导航「统计分析」,可以查看: - 今日完成任务数 - 本周学习趋势图 - 各计划完成度 - 学习时长统计 - 最近完成的任务历史 ### 悬浮球操作 - 悬浮球显示在桌面角落,可拖拽移动位置 - 跨显示器移动时会自动吸附到目标显示器可见区域 - 点击悬浮球可快速显示/隐藏悬浮窗 ### 系统托盘 - 点击窗口关闭按钮时,应用最小化到系统托盘 - 点击托盘图标可重新显示主窗口 - 右键托盘图标可选择「显示窗口」或「退出应用」 ## 键盘快捷键 | 快捷键 | 功能 | | --- | --- | | Ctrl + 1 | 跳转到仪表板 | | Ctrl + 2 | 跳转到学习计划 | | Ctrl + 3 | 跳转到统计分析 | ## 设计规范 ### 主题色 - 主色调:#3B82F6(蓝色) - 成功色:#10B981(绿色) - 警告色:#F59E0B(橙色) - 危险色:#EF4444(红色) - 背景色:#F9FAFB(浅灰) ### 字体 - 主字体:系统默认字体 - 标题字重:700 - 正文字重:400 ## 常见问题 **Q: Electron 下载失败怎么办?** A: 可以先使用 Web 模式开发,或者配置 Electron 镜像源: ```bash npm config set electron_mirror https://npmmirror.com/mirrors/electron/ ``` **Q: 数据会丢失吗?** A: 数据保存在本地,只要不删除应用数据目录,数据就不会丢失。 **Q: 悬浮球移出屏幕怎么办?** A: 重新打开应用,悬浮球会自动调整到可见的显示器区域内。 ## 版本历史 - **v1.0.0** (当前): 完整功能版本,包含学习计划管理、任务管理、统计分析、悬浮球、系统托盘、无边框窗口、多显示器支持等 - **v0.1.0**: MVP 版本 ## 许可证 MIT License ## 联系方式 如有问题或建议,欢迎提交 Issue。