欢迎加入开源鸿蒙跨平台社区: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.dart | UI 框架 | Flutter SDK | ✅ 引擎层适配 |
二、鸿蒙适配版 vs 标准版对比
| 类型 | 使用场景 | 示例 |
|---|
| 需要鸿蒙适配版 | 调用原生系统能力(存储、网络、传感器) | shared_preferences、path_provider |
| 直接使用标准版 | 纯 Dart 逻辑,无原生依赖 | provider、sqflite、intl |
三、可进一步开发的功能(基于现有技术栈)
3.1 高优先级(中低难度)
| 功能 | 依赖库 | 难度 | 说明 |
|---|
| 作业到期本地通知 | flutter_local_notifications(需鸿蒙适配) | ⭐⭐⭐ | 每日定时检查作业截止日期,发送通知提醒 |
| 课表/作业导出 | share_plus、file_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 | 周次自动高亮 | 减少用户操作,体验优化 |
五、鸿蒙适配库获取方式
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,再考虑增加通知、导出等实用功能。
所有评论(0)