行业大类:餐饮行业 / 食品服务业
更细分的应用场景:中小型餐厅、私房菜、小厨房,家庭/夫妻档的日常做饭计划与备货管理,也可适配团餐、食堂、工作室等需要“计划 + 备菜 + 做饭记录”的场景
点击空白处退出提示
行业大类:餐饮行业 / 食品服务业
更细分的应用场景:中小型餐厅、私房菜、小厨房,家庭/夫妻档的日常做饭计划与备货管理,也可适配团餐、食堂、工作室等需要“计划 + 备菜 + 做饭记录”的场景
1、首页入口(pages/home/home)
功能列表主页,作为整体功能导航
提供入口:
进入点餐 tab 体系:goMeal() → switchTab 到 pages/index/index
进入体重记录(pages/weight/index,当前属于占位页)
2、点单页面(pages/index/index)
负责“下单/点餐”的主要业务逻辑(项目中有独立 JS/WXML/WXSS)
一般包含:
菜品列表展示
选菜、加减份数
提交订单、生成对应的餐单/订单记录
餐单 / 订单页面(pages/orders/index)
3、核心是一个 日历 + 餐单计划视图
主要功能:
日历生成与切换年月
每天的计划数据显示(早餐/午餐/晚餐)
显示每餐菜品数量、是否全部完成、总份数等
选中某天弹出详情弹窗,展示该日所有餐次的详细菜品信息
对单个菜品、整个餐次或整天计划进行删除/修改
将餐次标记为“完成/待做”,联动库存、做饭记录和团队通知
库存页面(pages/inventory/index)
4、管理 菜品库存 和 菜品与原材料的绑定
功能点:
搜索、分类、按库存/名称排序、低库存高亮
单个菜品库存更新(输入框 / 快速 +1 / -1)
批量补货(将所有低库存菜品统一补到安全库存值)
跳转到“原材料列表页面”进行原材料维护
打开“绑定原材料弹窗”,为某菜品绑定多种原材料及对应单位/用量
保存绑定时校验数据并写入 dishes.ingredients 字段
原材料页面(pages/ingredients/index)
5、维护原材料基础信息:名称、单位、描述、当前库存等
被库存页面、做饭记录逻辑复用
管理页面(pages/manage/index)
6、管理菜品、分类、团队成员配置、模板 ID 等
属于运营/配置中心
设置页面(pages/settings/index)
小程序端通过 wx.cloud.callFunction 调用 quickstartFunctions
云函数根据 data.type 做路由:
getMealPlans:获取餐单计划
updateMealPlan:更新某天某餐的菜品/状态
deleteMealPlan:删除某天计划
getAllDishes:获取所有菜品及计算后的库存
consumeStock:根据做饭用料扣减原材料并写 cook_logs
revertCookForMeal:撤销扣减,恢复库存,删除相关 cook_logs
getCookSuggestion:根据菜品和份数返回建议用料
sendTeamNotification:发送订阅消息给团队成员等
数据库设计思路
dishes:
name、category、stock、hasIngredients、ingredients(原材料数组)
ingredients:
name、unit、stock、description 等
meal_plans:
planDate(YYYY-MM-DD)
meals:对象,breakfast / lunch / dinner,各自包含 items(菜品列表)和 status
cook_logs:
planId、planDate、mealKey
ingredientsUsed:本次实际消耗的原材料明细(用于追溯与恢复)
前端状态与性能优化
多处使用 本地缓存时间戳 控制请求频率:
_lastFetchTime + _cacheDuration(30 秒)
plansMap 把 planDate → plan 映射,方便日历与详情同步更新
通过 this.setData 按需更新 calendarDays、plans、detailPlan 等,减少无关 diff
用户体验细节




评论