- VoiceController: Map.of() -> Collections.singletonMap() 兼容 Java 8 - ExploreController: 补齐 takeoutService.roll() 缺失的 taste/priceRange/allergies 参数 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
8.5 KiB
8.5 KiB
以下为“吃啥盲盒(ChowBox)”小程序的完整开发方案,整合了此前所有讨论并细化至可落地执行的程度。
吃啥盲盒(ChowBox)小程序 · 产品开发方案 v1.0
一、产品概况
产品名称:吃啥盲盒
英文名:ChowBox
Slogan:今天吃啥?开个盲盒。
产品定位:一站式解决“今天吃什么”的轻决策工具,融合外卖盲盒、冰箱食材做菜、附近探店三种场景,用随机惊喜打破选择困难。
目标用户:都市白领、学生、独居人群、年轻家庭,经常面临吃饭决策困难的群体。
平台形态:微信小程序(便于传播及跳转外部平台)
二、核心功能模块
模式一:外卖盲盒(Takeout Box)
- 一句话描述:自动获取附近高质量外卖商家,随机推荐一家,一键跳转下单。
- 用户流程
- 授权地理位置。
- 系统以定位为中心,搜索1.5–3公里内外卖商家。
- 按评分≥4.5、月销量商圈前30%、配送≤40分钟、无严重差评等规则过滤高质量池。
- 加权随机选出1家展示:店名、评分、人均、距离、起送价/配送费、热销Top3、好评亮点。
- 用户点击“去下单”跳转美团/饿了么小程序对应商家页。
- 可点“换一家”重新随机(保证不重复上一次结果)。
- 交互细节:开盒动效(震动→发光→展开卡片),上方提示“你抽到的外卖是…”
模式二:冰箱盲盒(Fridge Box)
- 一句话描述:录入现有食材,智能推荐能做的菜并给出步骤,缺的调料自动提醒。
- 用户流程
- 输入食材(手动/语音/勾选常用),可自定义常备调料(油盐酱醋默认已有)。
- 系统从菜谱库中匹配:完全匹配(所有食材都具备)优先,其次为缺1–2种辅料的菜,标注“还差XX”。
- 随机展示3–5道菜,显示匹配度百分比及缺少食材。
- 点开详情:用料清单、步骤图文/视频、烹饪时长、难度星级。
- 支持一键添加缺少食材至购物清单,或分享菜谱。
- 结合时段推荐(早餐推快手菜,冬季推炖煮)。
- 菜谱数据来源:初始购买/爬取公开菜谱(合规授权),后期支持UGC上传+审核。
模式三:探店盲盒(Explore Box)
- 一句话描述:随机推荐附近一家高评价堂食好店,一键导航前往。
- 用户流程
- 授权定位。
- 搜索1–3公里内餐饮POI(地图API)。
- 按评分≥4.3、评论数≥50、结合用户口味偏好与价格设定过滤。
- 随机推荐1家:店名、菜系、人均、距离、推荐语(提炼用户评价)、招牌菜和环境图。
- 可“导航过去”(调起腾讯/高德地图)或查看详情页(跳转大众点评小程序)。
- 同样支持“换一家”。
三、品牌与UI风格
- 主色调:活力橙(#FF6A3D)搭配暖黄,体现美食与惊喜感。
- 辅助元素:盲盒机、问号盒、食材图标等插画风;三个模式用统一“盒子”视觉容器,入口设计成盲盒机样式。
- 动效:开盒过程1.5秒震动→开盖→弹出结果卡片,增强仪式感。
- 字体:圆体或粗圆体,传达亲切年轻气质。
- 底部导航:首页(盲盒大厅)、记录、我的,极简结构。
四、技术架构
整体选型
- 前端:原生微信小程序(WXML + WXSS + JavaScript),使用微信官方开发工具,保证最佳性能和兼容性。
- 后端:Java 8 + Spring Boot 2.x,采用经典 MVC 架构,部署于云服务器或容器化环境。
- 数据库:
- 主库:MySQL 5.7+(商家、菜谱、用户数据)
- 缓存:Redis(热点POI数据、高频菜谱匹配结果、会话缓存)
- 外部服务:
- 高德地图Web API(POI搜索、逆地理、路径规划)
- 腾讯位置服务(备选)
- 菜谱数据API(自建或合作方)
- 微信开放能力(跳转外卖平台小程序、订阅消息、地理授权)
数据流
用户授权定位 → 后端获取经纬度 → 调用地图POI并缓存(按网格+时间)→ 业务规则过滤/加权→ 随机抽取 → 返回结果
核心算法
- 高质量池筛选:SQL或内存运算完成评分、销量、配送时长过滤。
- 随机推荐:
- 确定当日候选集(离线定时刷新或实时计算)。
- 客户端请求时,服务端从候选集中用加权随机(如评分权重、用户偏好协同因子)抽取1条,同时记录已展示避免短时重复。
- 菜谱匹配:将用户食材列表与菜谱食材表求交集,计算匹配度 = 交集食材数 / 菜谱总食材数,降序排列随机取Top3。
五、数据策略与合规
| 数据需求 | 获取方式 | 更新频率 |
|---|---|---|
| 附近餐饮POI(名称、坐标、评分、人均、电话、图片) | 高德/腾讯地图POI搜索API,含扩展信息 | 用户实时请求缓存1小时;后台热门区域每6小时预缓存 |
| 外卖配送信息(起送价、配送费、时长) | 外卖开放平台(如有)或地图API中部分连锁商户信息 | 随POI一起 |
| 用户评价提炼(推荐语) | 使用公开点评文本摘要(通过合法数据供应商)或高德评分+标签 | 每日更新 |
| 菜谱数据 | 自建库+公开菜谱API合作 | 每周迭代 |
| 用户偏好 | 本地存储+后台用户画像(可选) | 实时 |
合规要点:
- 不使用网页爬虫抓取外卖/点评平台商业数据,所有商家信息源自地图开放API。
- 用户定位需明确授权,可拒绝或手动选择位置。
- 跳转外卖平台仅通过小程序URL Scheme合法跳转。
六、功能页面结构
- 启动页:Logo+“今天吃啥?开个盲盒”。
- 盲盒大厅(首页):三大模式入口(卡片+动效),每日一言。
- 外卖/探店员详情页:商家大图、信息卡片、招牌菜横滑、吸底操作按钮。
- 冰箱盲盒-食材录入页:输入框+标签+语音,我的常备调料编辑。
- 菜谱推荐列表页:菜谱卡片+匹配度+缺少食材高亮。
- 菜谱详情页:用料、步骤、计时器、购物车按钮。
- 记录页:最近开盒历史、收藏的店/菜谱。
- 个人中心:偏好设置(口味、忌口、价格区间)、关于我们。
七、开发路线图(MVP → 全功能)
Phase 1:核心MVP(4–6周)
- 完成原生微信小程序项目搭建,实现定位授权。
- 搭建 Java 8 + Spring Boot 后端项目,配置 MySQL 数据库连接。
- 接入高德POI搜索,实现外卖盲盒基础推荐(过滤+随机)。
- 设计 MySQL 数据库表结构,离线导入示例菜谱100道。
- 完成冰箱盲盒基本匹配逻辑与详情展示。
- UI盲盒开启动效1.0。
Phase 2:双模式补全(3–4周)
- 探店盲盒功能上线。
- 优化推荐权重,加入用户反馈(喜欢/踩)。
- 菜谱库扩充至500+,支持语音录入食材。
Phase 3:体验与运营(2–3周)
- 记忆用户偏好,协同过滤简单推荐。
- 分享卡片、订阅消息(每日推荐通知)。
- 性能优化,误触防护,无结果兜底。
Phase 4:上线审核与迭代
- 小程序全功能测试,提交审核。
- 数据监控与迭代,探索拍照识食材、多人开盒决策等创新功能。
八、预算与资源预估(最小可行)
- 研发人员:1名全栈(或前后端各1兼职)
- 设计:1名UI(可外包关键页面)
- 服务器:初期微信云托管低配(约200–500元/月)
- API费用:高德地图免费配额(日调用量<30万次)足够,菜谱API或数据购买(约1000–3000元一次性)
- 时间:MVP约2个月可上线测试
九、核心文案与传播素材
- 小程序简介:外卖盲盒、冰箱做菜、附近探店,一键解决今天吃啥。
- 分享文案:
“我又开出了宝藏店铺!你也来测测今天吃啥吧”
“冰箱剩菜变盛宴,这个盲盒有点厉害” - 功能引导:
外卖盲盒页:不知道点什么?让我帮你决定。
冰箱盲盒页:拍下你的食材,魔法就出现了。
探店盲盒页:好店就在转角,敢不敢盲开一个?