Skip to content

ziyi127/TimeWidgets

Repository files navigation

TimeWidgets (智慧课程表)

TimeWidgets 是一款专为学生设计的智能课程表应用,集成了桌面小组件、灵动岛通知、天气显示、倒计时等多项实用功能。旨在帮助学生更高效地管理时间,不错过每一节精彩课程。

✨ 主要功能

  • 智能课表管理
    • 支持单双周课程设置。
    • 灵活的课程触发规则。
    • 直观的课表编辑界面。
  • 桌面小组件
    • 将课表、时间、天气等信息直接显示在桌面上。
    • 支持自定义布局和位置。
  • 灵动岛体验(开发中)
    • 独特的灵动岛风格通知和状态展示。
    • 多窗口共存模式,提供无缝交互体验。
  • 临时调课
    • 支持按天或按节进行临时调课。
    • 轻松应对突发的课程变动。
  • 倒计时
    • 记录考试、放假等重要日期的倒计时。
  • 天气集成
    • 实时显示天气信息,出行早知道。
  • 个性化定制
    • 支持 Material Design 3 动态色彩主题。
    • 多种界面缩放和布局选项。
  • 性能优化
    • 针对 Windows 平台深度优化,低内存占用。
    • 激进的资源释放策略,确保系统流畅运行。

🛠️ 技术栈

本项目基于 Flutter 开发,主要使用了以下技术和库:

  • Flutter (Windows): 跨平台 UI 框架。
  • Window Management:
    • bitsdojo_window: 自定义窗口标题栏和边框。
    • window_manager: 窗口尺寸、位置和状态管理。
    • desktop_multi_window: 支持多窗口(灵动岛功能)。
  • System Integration:
    • system_tray: 系统托盘集成。
    • launch_at_startup: 开机自启支持。
  • State Management: provider.
  • Networking: http (用于天气和 NTP 时间同步).
  • Data Storage: shared_preferences, JSON 文件存储.

🚀 快速开始

环境要求

  • Flutter SDK >= 3.10.0
  • Dart SDK >= 3.0.0 < 4.0.0
  • Windows 10/11

安装依赖

flutter pub get

运行项目

# 运行主程序
flutter run -d windows

构建发布版

flutter build windows

📝 使用说明

  1. 初次启动:应用启动后,建议先进入设置页面进行基础配置。
  2. 课表导入/编辑:点击系统托盘图标,选择“课表编辑”来录入您的课程信息。
  3. 桌面布局:在托盘菜单中开启“编辑模式”,可以自由拖动桌面组件的位置。
  4. 临时调课:通过托盘菜单的“临时调课”功能,快速调整特定日期的课程安排。

📄 许可证

本项目采用 Apache License 2.0 许可证。

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors