欢迎加入开源鸿蒙跨平台社区: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)