Files
kitchen/docs/dev/UNFINISHED_FEATURES.md
Developer 13fdbdc431 瀑布流
2026-04-13 03:39:29 +08:00

17 KiB
Raw Blame History

📋 未完成功能清单

文档创建: 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 常量
    • 新增 filterdiscover 接口定义

26.2 偏好本地存储

  • 变更用户偏好设置不再有后端API支持
  • 解决方案
    • PreferenceRepository 改为使用 SharedPreferences 本地存储
    • 保留所有方法签名,确保向后兼容

26.3 评分接口迁移

  • 变更recommend 接口改为 rate 评分接口
  • 新特性
    • 评分范围1-5分
    • 每日限制每个IP每天最多30次
    • 不可取消:评分后无法撤销
  • 解决方案
    • ActionRepository.recommend()ActionRepository.rate()
    • IpStatus 字段更新:recommendUsedrateUsed
    • 保留 @Deprecated 兼容方法

26.4 信息流接口更新

  • 变更api_feed.php?act=personal 接口已删除
  • 解决方案
    • FeedRepository 移除 fetchPersonal() 方法
    • FeedType 枚举移除 personal
    • 信息流类型从4种减少为3种推荐/最新/热门

26.5 Controller适配

  • 变更Controller需要适配新的Repository接口
  • 解决方案
    • FeedController移除personal相关逻辑
    • ActionControllerrecommendItem → rateItem
    • RecipeDetailControllerrecommendRecipe → 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_plus12.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 API13.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.json34种时段
  • 功能
    • 🌅 早餐推荐7-10点
    • 🍱 午餐推荐11-14点
    • 🌙 晚餐推荐17-20点
    • 📅 每日菜单规划(早中晚餐)

14.2 营养分析增强

  • 接口支持api.php?act=full&id=xxx 返回 nutrition 字段
  • 数据文件http://eat.wktyl.com/api/assets/nutrition_types.json31种营养成分
  • 功能
    • 📊 营养成分详情展示(维生素/矿物质/宏量营养素)
    • 🎯 每日营养目标追踪
    • 🏋️ 健身餐推荐(高蛋白/低碳水)
    • 📈 营养趋势分析图表

14.3 过敏原警示增强

  • 接口支持api.php?act=full&id=xxx 返回 allergens 字段
  • 数据文件http://eat.wktyl.com/api/assets/gmy.json585种过敏原数据
  • 功能
    • 过敏原数据本地化数据管理中心已实现见阶段23
    • ⚠️ 菜谱详情页过敏原警示
    • 🚫 自动过滤含过敏原菜谱
    • 🔄 食材替代建议
    • 📋 过敏原报告生成

14.4 点赞/推荐系统

  • 接口支持
    • api_action.php?act=like&type=recipe&id=1&action=like/unlike
    • api_action.php?act=recommend&type=recipe&id=1&score=5
  • 功能
    • 👍 点赞/取消点赞
    • 五星评分
    • 📊 用户评价统计
    • 🏆 推荐排行榜

14.5 社交分享

  • 接口支持api_what_to_eat.php?act=detail&code=CP032892code字段生成分享链接
  • 功能
    • 🔗 分享链接生成(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内容丰富平台

验收标准

  • 用户可注册/登录
  • 收藏数据云端同步
  • 菜谱可评论
  • 收到系统通知
  • 浏览历史云端同步
  • 用户可上传菜谱