欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.csdn.net
本项目代码仓库地址:https://atomgit.com/Krneide/my_class_schedule
一、已实现功能
1.1 核心功能
| 功能模块 |
状态 |
说明 |
| 📅 课程表管理 |
✅ |
周次选择、日期切换、列表/周课表双视图 |
| 📊 周课表视图 |
✅ |
5×5网格显示,跨节课程合并展示 |
| ➕ 课程编辑 |
✅ |
添加、修改、删除课程功能 |
| 🎯 临时课程 |
✅ |
班会、调课等特殊课程标记,橙色标签显示 |
| ⏰ 上课时间设置 |
✅ |
自定义每节课的开始和结束时间 |
| 📝 作业管理 |
✅ |
作业添加、完成状态跟踪、筛选查看 |
| 📈 数据统计 |
✅ |
课程数量、作业完成率实时统计 |
| 👥 校园论坛 |
✅ |
作业求助、二手书交易、校内跑腿、经验分享 |
1.2 论坛功能
| 板块 |
说明 |
| 📚 作业求助 |
学习问题交流、作业解答 |
| 📖 二手书交易 |
教材书籍买卖(书名、价格字段) |
| 🚚 校内跑腿 |
代取快递等服务(地点、报酬字段) |
| 💡 经验分享 |
考研、学习经验分享 |
二、已使用的三方库
| 库名 |
用途 |
引用方式 |
鸿蒙适配 |
| shared_preferences |
用户配置存储(主题、昵称、通知开关) |
Git 引用(AtomGit) |
✅ 鸿蒙适配版 |
| path_provider |
获取应用文档目录(数据库路径) |
Git 引用(AtomGit) |
✅ 鸿蒙适配版 |
| sqflite |
课程/作业数据本地数据库 |
pub.dev 标准版 |
✅ 纯 Dart 实现 |
| path |
数据库路径拼接 |
pub.dev 标准版 |
✅ 纯 Dart 实现 |
| provider |
主题状态管理、统计服务 |
pub.dev 标准版 |
✅ 纯 Dart 实现 |
| intl |
日期格式化 |
pub.dev 标准版 |
✅ 纯 Dart 实现 |
| flutter/material.dart |
UI 框架 |
Flutter SDK |
✅ 引擎层适配 |
三、鸿蒙适配版 vs 标准版对比
| 类型 |
使用场景 |
示例 |
| 需要鸿蒙适配版 |
调用原生系统能力(存储、网络、传感器) |
shared_preferences、path_provider |
| 直接使用标准版 |
纯 Dart 逻辑,无原生依赖 |
provider、sqflite、intl |
四、可进一步开发的功能
4.1 高优先级(中低难度)
| 功能 |
依赖库 |
难度 |
说明 |
| 作业到期本地通知 |
flutter_local_notifications(需鸿蒙适配) |
⭐⭐⭐ |
每日定时检查作业截止日期,发送通知提醒 |
| 课表/作业导出 |
share_plus、file_saver |
⭐⭐ |
导出 JSON/CSV 文件,方便备份或分享 |
| 批量操作课程 |
现有 sqflite |
⭐⭐ |
批量删除、批量修改周次 |
| 搜索课程/作业 |
现有 sqflite 查询 |
⭐ |
按名称搜索课程和作业 |
| 课程周次高亮 |
现有逻辑 |
⭐ |
周次选择器自动跳转到当前周 |
4.2 中优先级(中等难度)
| 功能 |
依赖库 |
难度 |
说明 |
| 课表分享 |
share_plus |
⭐⭐ |
将课表以文本/图片形式分享给好友 |
| 日历同步 |
calendar_sync(需适配) |
⭐⭐⭐ |
将课程和作业同步到手机系统日历 |
| 数据云备份 |
dio + 后端 API |
⭐⭐⭐⭐ |
登录账号,跨设备同步课表 |
| 桌面小组件完善 |
ArkTS 原生开发 |
⭐⭐⭐⭐ |
桌面直接显示今日课程 |
4.3 低优先级(高难度/需后端)
| 功能 |
依赖库 |
难度 |
说明 |
| 课表拍照识别 |
camera + tesseract_ocr |
⭐⭐⭐⭐⭐ |
拍照自动识别导入课表 |
| 语音添加作业 |
speech_to_text |
⭐⭐⭐⭐ |
语音输入快速添加作业 |
| 智能排课 |
算法 + 现有数据 |
⭐⭐⭐⭐ |
根据学时自动推荐排课时间 |
| 课程评价系统 |
需要后端服务 |
⭐⭐⭐⭐ |
学生评价课程和教师 |
五、推荐的下一步功能
| 优先级 |
功能 |
原因 |
| 1 |
作业到期本地通知 |
最实用的提醒功能,用户价值高 |
| 2 |
批量操作课程 |
学期初/末批量调整周次很实用 |
| 3 |
课表导出分享 |
方便与同学共享课表 |
| 4 |
周次自动高亮 |
减少用户操作,体验优化 |
| 5 |
搜索功能 |
快速定位课程和作业 |
六、鸿蒙适配库获取方式
dependencies:
shared_preferences:
git:
url: "https://atomgit.com/openharmony-tpc/flutter_packages.git"
path: "packages/shared_preferences/shared_preferences"
path_provider:
git:
url: "https://atomgit.com/openharmony-tpc/flutter_packages.git"
path: "packages/path_provider/path_provider"
七、注意事项
| 要点 |
说明 |
| 三方库选择 |
优先选择纯 Dart 库,避免原生依赖适配问题 |
| 鸿蒙适配版 |
仅当库需要调用系统能力时才使用 Git 引用 |
| 版本锁定 |
Git 引用建议锁定到稳定分支,避免突然更新导致编译失败 |
| 测试验证 |
添加新库后必须在鸿蒙真机/模拟器上验证 |
📊 项目状态
| 指标 |
状态 |
| 代码分析 |
✅ 通过(无警告/错误) |
| 构建检查 |
✅ 通过(鸿蒙 debug 构建成功) |
| 功能完整性 |
✅ 核心功能全部实现 |
| 鸿蒙适配 |
✅ 使用适配版三方库 |
总结:当前项目已完整实现课程表管理、作业管理、校园论坛等核心功能,使用了鸿蒙适配版三方库确保平台兼容性。下一步建议优先添加作业到期通知、批量操作等高价值功能,提升用户体验。
所有评论(0)