Files
ChowBox/doc/plan.md
王鹏 802b4ba229 fix: 修复 VoiceController Map.of 兼容性 + ExploreController 参数不匹配
- VoiceController: Map.of() -> Collections.singletonMap() 兼容 Java 8
- ExploreController: 补齐 takeoutService.roll() 缺失的 taste/priceRange/allergies 参数

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-05-08 20:02:27 +08:00

170 lines
8.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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