17 KiB
17 KiB
📋 未完成功能清单
文档创建: 2026-04-09
最后更新: 2026-04-13 说明: 记录所有未完成的功能任务,跟踪开发进度
优先级说明: P1=核心功能 P2=重要功能 P3=增强功能
优先级值1-5: 5=最高优先级(多次提及自动提升)
📊 总体进度
| 阶段 | 总任务 | 已完成 | 未完成 | 完成率 |
|---|---|---|---|---|
| 三:热量追踪+营养分析 | 7 | 7 | 0 | 100% ✅ |
| 四:购物清单 | 5 | 5 | 0 | 100% ✅ |
| 十二:社交+通知增强 | 4 | 2 | 2 | 50% 🟡 |
| 十三:AI+规划高级功能 | 4 | 4 | 0 | 100% ✅ |
| 十四:接口能力挖掘 | 8 | 1 | 7 | 12% 🟡 |
| 十五:后端接口增强 | 6 | 0 | 6 | 0% 🔴 |
| 十六:用户体验优化+Bug 修复 | 7 | 7 | 0 | 100% ✅ |
| 十七:紧急Bug修复 | 14 | 14 | 0 | 100% ✅ |
| 十九:综合Bug修复+功能增强 | 18 | 18 | 0 | 100% ✅ |
| 二十:用户体验优化+交互增强 | 7 | 7 | 0 | 100% ✅ |
| 二十一:菜谱详情页功能增强 | 1 | 1 | 0 | 100% ✅ |
| 二十二:Picid功能Bug修复 | 2 | 2 | 0 | 100% ✅ |
| 二十三:数据管理中心 | 3 | 1 | 2 | 33% 🟡 |
| 二十四:笔记+浏览记录功能 | 2 | 2 | 0 | 100% ✅ |
| 二十五:多项功能Bug修复 | 6 | 6 | 0 | 100% ✅ |
| 二十六:API v3.2.0迁移 | 5 | 5 | 0 | 100% ✅ |
| 二十七:首页Discover瀑布流 | 8 | 8 | 0 | 100% ✅ |
| 二十八:瀑布流渐进式渲染+分页 | 3 | 3 | 0 | 100% ✅ |
| 合计 | 179 | 162 | 17 | 91% |
✅ 阶段二十六:API v3.2.0迁移(P1)
目标:适配后端API v3.2.0,移除已删除接口,更新评分系统
前置依赖:无
关键阻塞:无
完成日期:2026-04-12
| 序号 | 任务 | 产出文件 | 优先级 | 状态 | 说明 |
|---|---|---|---|---|---|
| 26.1 | 🔧 移除preference接口 | lib/src/config/api_config.dart |
P1 | ✅ 已完成 | api_preference.php已删除,偏好改为本地存储 |
| 26.2 | 💾 偏好本地存储 | lib/src/repositories/preference_repository.dart |
P1 | ✅ 已完成 | SharedPreferences替代API存储 |
| 26.3 | ⭐ 评分接口迁移 | lib/src/repositories/action_repository.dart |
P1 | ✅ 已完成 | recommend→rate(1-5分) |
| 26.4 | 📱 信息流接口更新 | lib/src/repositories/feed_repository.dart |
P1 | ✅ 已完成 | 移除personal接口 |
| 26.5 | 🎮 Controller适配 | 多个Controller文件 | P1 | ✅ 已完成 | feed/action/recipe_detail控制器更新 |
功能详情
26.1 移除preference接口
- 变更:
api_preference.php已被后端删除 - 解决方案:
- 从
api_config.dart移除preference常量 - 新增
filter和discover接口定义
- 从
26.2 偏好本地存储
- 变更:用户偏好设置不再有后端API支持
- 解决方案:
PreferenceRepository改为使用SharedPreferences本地存储- 保留所有方法签名,确保向后兼容
26.3 评分接口迁移
- 变更:
recommend接口改为rate评分接口 - 新特性:
- 评分范围:1-5分
- 每日限制:每个IP每天最多30次
- 不可取消:评分后无法撤销
- 解决方案:
ActionRepository.recommend()→ActionRepository.rate()IpStatus字段更新:recommendUsed→rateUsed- 保留
@Deprecated兼容方法
26.4 信息流接口更新
- 变更:
api_feed.php?act=personal接口已删除 - 解决方案:
FeedRepository移除fetchPersonal()方法FeedType枚举移除personal值- 信息流类型从4种减少为3种:推荐/最新/热门
26.5 Controller适配
- 变更:Controller需要适配新的Repository接口
- 解决方案:
FeedController:移除personal相关逻辑ActionController:recommendItem → rateItemRecipeDetailController:recommendRecipe → rateRecipe
API变更对照表
| 原接口 | 新接口/方案 | 说明 |
|---|---|---|
api_preference.php |
SharedPreferences本地存储 | 已删除 |
api_feed.php?act=personal |
使用 act=recommend 替代 |
已删除 |
api_action.php?act=recommend |
api_action.php?act=rate |
改为评分(1-5分) |
recommend_nums/recommend_score |
rate_nums/rate_score |
字段重命名 |
✅ 阶段二十七:首页Discover瀑布流重构(P1)
✅ 阶段二十八:瀑布流渐进式渲染+分页加载(P1)
目标:实现卡片渐进式渲染、到底刷新按钮、分页增量加载
前置依赖:阶段二十七(Discover瀑布流已完成)
关键阻塞:无
完成日期:2026-04-13
| 序号 | 任务 | 产出文件 | 优先级 | 状态 | 说明 |
|---|---|---|---|---|---|
| 28.1 | ✨ 渐进式渲染 | lib/src/widgets/discover/discover_waterfall.dart |
P1 | ✅ 已完成 | 卡片逐个绘制+骨架屏占位+入场动画 |
| 28.2 | 🔄 刷新按钮+分页 | lib/src/pages/home/home_page.dart |
P1 | ✅ 已完成 | 到底显示刷新按钮+进度条+时间戳 |
| 28.3 | 📦 增量获取支持 | lib/src/repositories/discover_repository.dart |
P2 | ✅ 已完成 | 新增fetchMore方法 |
功能详情
✅ 阶段二十四:笔记+浏览记录功能(P1)
目标:修复笔记保存问题,实现真实浏览记录功能
前置依赖:无
关键阻塞:无
| 序号 | 任务 | 产出文件 | 优先级 | 状态 | 说明 |
|---|---|---|---|---|---|
| 24.1 | 📝 笔记功能增强 | lib/src/pages/tools/cooking_note_page.dart |
P1 | ✅ 已完成 | 标签关键字+菜品字段快捷输入+SharedPreferences存储 |
| 24.2 | 👀 浏览记录功能 | lib/src/pages/profile/footprints_page.dart |
P1 | ✅ 已完成 | 真实浏览记录+SharedPreferences存储+管理功能 |
功能详情
24.1 笔记功能增强
- 问题:笔记保存后丢失
- 解决方案:
- 新增 SharedPreferences 双重存储,确保数据不丢失
- 新增标签关键字功能,支持为笔记添加多个标签
- 新增菜品字段快捷输入:菜名、简介、分类、标签、难度、时间、食材
- 影响文件:
lib/src/models/cooking_note_model.dart— 新增 tags 字段lib/src/controllers/cooking_note_controller.dart— SharedPreferences 存储lib/src/pages/tools/cooking_note_page.dart— 标签+快捷输入UI
24.2 浏览记录功能
- 问题:浏览记录页面使用假数据
- 解决方案:
- 新增 BrowseHistoryModel 模型
- 新增 BrowseHistoryController 控制器
- 菜谱详情页自动记录浏览历史
- 支持左滑删除、清空所有记录
- 影响文件:
lib/src/models/browse_history_model.dart— 新建lib/src/controllers/browse_history_controller.dart— 新建lib/src/pages/profile/footprints_page.dart— 重构lib/src/controllers/recipe_detail_controller.dart— 集成
🟡 阶段二十三:数据管理中心(P2)
目标:统一管理分类标签和过敏原数据,支持API同步与本地持久化
前置依赖:阶段十四(过敏原数据)
关键阻塞:无
| 序号 | 任务 | 产出文件 | 优先级 | 状态 | 说明 |
|---|---|---|---|---|---|
| 23.1 | 📊 数据管理中心页面 | lib/src/pages/profile/data_center_page.dart |
P2 | ✅ 已完成 | 分类标签(口味/工艺/食材)+过敏原管理页面 |
| 23.2 | 💾 LocalDataService 数据服务 | lib/src/services/data/local_data_service.dart |
P2 | ✅ 已完成 | SharedPreferences持久化+API同步+24h缓存 |
| 23.3 | ⚠️ 过敏原智能过滤 | 搜索/推荐模块集成 | P2 | ❌ 未实现 | 将用户设置的过敏原用于菜品过滤 |
功能详情
23.1 数据管理中心页面
- 入口:我的 → 首页 → 📊 数据管理中心
- 功能:
- 分类标签区域:口味标签(蓝色)、工艺标签(橙色)、食材分类(绿色)
- 过敏原管理区域:21大类585种过敏原,支持展开/收起
- 个人过敏原设置:勾选后即时保存到本地
- 一键同步所有数据
- 技术方案:Cupertino组件 + LocalDataService + showCupertinoModalPopup
23.2 LocalDataService
- 功能:
- 口味标签:
api.php?act=tags - 工艺标签:
api.php?act=list提取 process 字段 - 食材分类:
api.php?act=categories - 过敏原全量:
gmy.json(585条) - 用户过敏原:本地勾选保存
- 口味标签:
- 缓存策略:SharedPreferences + 24h过期 + 手动刷新
23.3 过敏原智能过滤(待开发)
- 目标:搜索/推荐时自动过滤含用户过敏原的菜品
- 实现方式:调用
LocalDataService.getUserAllergens()获取用户过敏原列表,在推荐结果中排除含这些过敏原的菜谱 - 影响文件:搜索页、首页推荐、智能推荐服务
🟢 阶段十二:社交+通知增强(P2)
目标:增加社交分享和通知提醒功能
前置依赖:阶段十一完成
关键阻塞:12.1 需 share_plus,12.2 需 flutter_local_notifications
| 序号 | 任务 | 产出文件 | 优先级 | 状态 | 说明 |
|---|---|---|---|---|---|
| 12.1 | 📱 分享菜谱 | lib/src/pages/home/recipe_detail_page.dart |
P2 | ✅ 已完成 | 分享按钮+生成菜谱文本+调用share_plus |
| 12.2 | 🔔 烹饪提醒通知 | lib/src/services/notification_service.dart |
P2 | ❌ 未实现 | 定时提醒烹饪步骤,与计时器联动 |
| 12.3 | 🔍 搜索建议/热词 | lib/src/controllers/search_controller.dart |
P2 | ✅ 已完成 | 从API获取热门标签,替代硬编码热词,保留fallback |
| 12.4 | 📸 拍照记录 | lib/src/pages/tools/cooking_note_page.dart |
P3 | ❌ 未实现 | 烹饪笔记支持拍照上传,记录成品 |
功能详情
12.1 分享菜谱
- 入口:菜谱详情页 → 分享按钮
- 功能:
- 生成菜谱卡片图片(封面+标题+食材摘要)
- 调用 iOS Share Sheet / Android 分享面板
- 支持保存到相册
- 技术方案:
screenshot+share_plus
12.2 烹饪提醒通知
- 入口:烹饪模式 → 设置提醒
- 功能:
- 烹饪步骤到达时发送本地通知
- 计时器完成时通知
- 支持自定义提醒时间
- 技术方案:
flutter_local_notifications
12.3 搜索建议/热词
- 入口:搜索页搜索栏
- 功能:
- 空搜索框时展示热门搜索词
- 输入时自动补全建议
- 热门搜索词从 API 获取
- 技术方案:
RecipeRepository.fetchTags()获取热词
🔵 阶段十三:AI+规划高级功能(P3)
目标:实现智能化和规划类高级功能
前置依赖:阶段十二完成
关键阻塞:13.1 需 AI API,13.2 需日历组件
| 序号 | 任务 | 产出文件 | 优先级 | 状态 | 说明 |
|---|---|---|---|---|---|
| 13.1 | AI 菜谱推荐 | lib/src/services/recommendation_service.dart |
P3 | ✅ 已实现 | 基于口味偏好+浏览历史,智能推荐菜谱 |
| 13.2 | 每周菜单规划 | lib/src/pages/tools/weekly_menu_planner_page.dart |
P3 | ✅ 已实现 | 日历视图规划一周饮食,自动生成购物清单 |
| 13.3 | 食材用量换算增强 | lib/src/pages/tools/serving_scaler_page.dart |
P3 | ✅ 已实现 | 添加单位换算Tab(重量/容量/计数)+常用换算表 |
| 13.4 | 就寝提醒 | lib/src/pages/profile/bedtime_reminder_page.dart |
P3 | ✅ 已实现 | 根据饮食时间推荐健康作息 |
功能详情
13.1 AI 菜谱推荐
- 入口:首页"为你推荐"Tab
- 功能:
- 基于用户口味偏好(PreferenceController)
- 基于浏览历史(FootprintsPage 数据)
- 基于收藏记录(FavoritesController)
- 推荐相似菜谱
- 技术方案:调用后端推荐 API 或本地协同过滤算法
13.2 每周菜单规划
- 入口:工具页 → "📅 每周菜单"
- 功能:
- 日历视图选择日期
- 每日早/中/晚三餐分配菜谱
- 自动汇总生成购物清单
- 支持拖拽调整
- 技术方案:自定义日历组件 + Hive 持久化
13.3 食材用量换算增强
- 入口:工具页 → 份量缩放
- 功能:
- 支持克/千克/磅/盎司互转
- 支持毫升/升/杯/汤匙互转
- 常用食材密度表
- 技术方案:扩展
serving_scaler_page.dart,添加单位换算 Tab
13.4 就寝提醒
- 入口:设置 → 健康提醒
- 功能:
- 根据晚餐时间推荐就寝时间
- 睡前不宜进食提醒
- 与营养追踪联动
- 技术方案:
flutter_local_notifications+ 健康算法
验收标准
- "为你推荐"展示个性化推荐菜谱
- 每周菜单可规划三餐并生成购物清单
- 份量缩放支持多种单位换算
- 就寝提醒根据饮食时间智能推荐
🟢 阶段十四:接口能力挖掘(P1/P2)
目标:利用已有API接口能力,实现App端未开发的功能
🔴 阶段十六:用户体验优化+Bug修复(P0/P1)
技术要点
- 数据文件:
http://eat.wktyl.com/api/assets/eating_times.json(34种时段) - 功能:
- 🌅 早餐推荐(7-10点)
- 🍱 午餐推荐(11-14点)
- 🌙 晚餐推荐(17-20点)
- 📅 每日菜单规划(早中晚餐)
14.2 营养分析增强
- 接口支持:
api.php?act=full&id=xxx返回nutrition字段 - 数据文件:
http://eat.wktyl.com/api/assets/nutrition_types.json(31种营养成分) - 功能:
- 📊 营养成分详情展示(维生素/矿物质/宏量营养素)
- 🎯 每日营养目标追踪
- 🏋️ 健身餐推荐(高蛋白/低碳水)
- 📈 营养趋势分析图表
14.3 过敏原警示增强
- 接口支持:
api.php?act=full&id=xxx返回allergens字段 - 数据文件:
http://eat.wktyl.com/api/assets/gmy.json(585种过敏原数据) - 功能:
- ✅ 过敏原数据本地化(数据管理中心已实现,见阶段23)
- ⚠️ 菜谱详情页过敏原警示
- 🚫 自动过滤含过敏原菜谱
- 🔄 食材替代建议
- 📋 过敏原报告生成
14.4 点赞/推荐系统
- 接口支持:
api_action.php?act=like&type=recipe&id=1&action=like/unlikeapi_action.php?act=recommend&type=recipe&id=1&score=5
- 功能:
- 👍 点赞/取消点赞
- ⭐ 五星评分
- 📊 用户评价统计
- 🏆 推荐排行榜
14.5 社交分享
- 接口支持:
api_what_to_eat.php?act=detail&code=CP032892(code字段生成分享链接) - 功能:
- 🔗 分享链接生成(
https://eat.wktyl.com/recipe/CP032892) - 📱 二维码海报
- 📊 热度标签展示(🔥爆款/📈热门/❤️受欢迎)
- 👥 社交平台分享
- 🔗 分享链接生成(
🔴 阶段十五:后端接口增强(P1/P2)
目标:新增后端接口,实现高级功能
前置依赖:后端开发配合
关键阻塞:需要后端新增接口
优先级说明:🔴 红色表示需要后端支持
| 序号 | 任务 | 建议接口 | 优先级 | 状态 | 说明 |
|---|---|---|---|---|---|
| 15.1 | 👤 用户注册登录 | api_user.php?act=register/login |
P1 | ❌ 未实现 | 用户账号体系 |
| 15.2 | 💾 收藏云端同步 | api_favorite.php?act=add/remove/list |
P1 | ❌ 未实现 | 收藏数据云端存储 |
| 15.3 | 💬 评论系统 | api_comment.php?act=list/add/delete |
P2 | ❌ 未实现 | 菜谱评论功能 |
| 15.4 | 🔔 消息推送 | api_message.php?act=list/read |
P2 | ❌ 未实现 | 站内信+推送通知 |
| 15.5 | 📜 浏览历史同步 | api_history.php?act=add/list |
P2 | ❌ 未实现 | 浏览历史云端存储 |
| 15.6 | 📝 菜谱上传 | api_recipe.php?act=add/edit/delete |
P2 | ❌ 未实现 | 用户菜谱上传/编辑 |
- 功能:
- 💬 发表评论
- 👍 评论点赞
- 📝 评论回复
- 🔔 评论通知
15.4 消息推送
-
现状:❌ 无推送接口
-
建议接口:
-
功能:
- 📬 站内信
- 🔔 推送通知
- 📢 系统公告
- 💬 评论提醒
15.5 浏览历史同步
- 现状:⚠️ 仅本地存储
- 建议接口:
POST api_history.php?act=add { "user_id": "xxx", "recipe_id": 123 } GET api_history.php?act=list&user_id=xxx&page=1 - 功能:
- ☁️ 浏览历史云端存储
- 🔄 多设备同步
- 📊 浏览统计
- 🧹 历史清理
15.6 菜谱上传
- 现状:❌ 无上传接口
- 建议接口:
- 功能:
- 📝 用户菜谱上传
- ✏️ 菜谱编辑
- 🗑️ 菜谱删除
- 📊 菜谱审核
开发优先级
| 优先级 | 功能 | 说明 |
|---|---|---|
| P1 | 用户注册登录 | 核心功能,其他功能依赖用户体系 |
| P1 | 收藏云端同步 | 用户数据安全,多设备同步 |
| P2 | 评论系统 | 增加互动,提升活跃度 |
| P2 | 消息推送 | 用户触达,提升留存 |
| P2 | 浏览历史同步 | 用户体验,多设备同步 |
| P2 | 菜谱上传 | UGC内容,丰富平台 |
验收标准
- 用户可注册/登录
- 收藏数据云端同步
- 菜谱可评论
- 收到系统通知
- 浏览历史云端同步
- 用户可上传菜谱