欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.csdn.net
本项目代码仓库地址:https://atomgit.com/Krneide/my_class_schedule

一、已使用的三方库

库名用途引用方式鸿蒙适配
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.dartUI 框架Flutter SDK✅ 引擎层适配

二、鸿蒙适配版 vs 标准版对比

类型使用场景示例
需要鸿蒙适配版调用原生系统能力(存储、网络、传感器)shared_preferencespath_provider
直接使用标准版纯 Dart 逻辑,无原生依赖providersqfliteintl

三、可进一步开发的功能(基于现有技术栈)

3.1 高优先级(中低难度)
功能依赖库难度说明
作业到期本地通知flutter_local_notifications(需鸿蒙适配)⭐⭐⭐每日定时检查作业截止日期,发送通知提醒
课表/作业导出share_plusfile_saver⭐⭐导出 JSON/CSV 文件,方便备份或分享
批量操作课程现有 sqflite⭐⭐批量删除、批量修改周次
搜索课程/作业现有 sqflite + sqflite 查询按名称搜索课程和作业
课程周次高亮现有逻辑周次选择器自动跳转到当前周
3.2 中优先级(中等难度)
功能依赖库难度说明
课表分享share_plus⭐⭐将课表以文本/图片形式分享给好友
日历同步calendar_sync(需适配)⭐⭐⭐将课程和作业同步到手机系统日历
数据云备份dio + 后端 API⭐⭐⭐⭐登录账号,跨设备同步课表
桌面小组件完善ArkTS 原生开发⭐⭐⭐⭐桌面直接显示今日课程(需鸿蒙原生代码)
3.3 低优先级(高难度/需后端)
功能依赖库难度说明
课表拍照识别camera + tesseract_ocr⭐⭐⭐⭐⭐拍照自动识别导入课表
语音添加作业speech_to_text⭐⭐⭐⭐语音输入快速添加作业
智能排课算法 + 现有数据⭐⭐⭐⭐根据学时自动推荐排课时间
课程评价系统需要后端服务⭐⭐⭐⭐学生评价课程和教师

四、推荐的下一步功能(优先级排序)

优先级功能原因
1修复添加课程弹窗无响应当前阻断性问题,必须先修复
2作业到期本地通知最实用的提醒功能,用户价值高
3批量操作课程学期初/末批量调整周次很实用
4课表导出分享方便与同学共享课表
5周次自动高亮减少用户操作,体验优化

五、鸿蒙适配库获取方式

# pubspec.yaml 中使用 AtomGit 仓库的鸿蒙适配版
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 引用建议锁定到稳定分支,避免突然更新导致编译失败
测试验证添加新库后必须在鸿蒙真机/模拟器上验证

总结:当前项目已合理使用鸿蒙适配版三方库实现核心功能。下一步应优先修复添加功能的阻断性 Bug,再考虑增加通知、导出等实用功能。

更多推荐