# irobot-map **Repository Path**: chansonl/irobot-map ## Basic Information - **Project Name**: irobot-map - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-09-04 - **Last Updated**: 2026-09-04 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 美食地图(好友群版) > 📋 **开发者/AI 协作请先阅读 [DEVELOPMENT.md](DEVELOPMENT.md)**:包含开发阶段、技术决策、API 契约、数据模型和待办事项。 一个基于**微信云开发**的私密美食地图小程序:每个人都可以创建自己的「美食地图」群组,邀请好友加入,群组内共享美食标记、点赞、评论。 ## 功能 - 🗺️ 创建群组(每个群组就是一张独立的美食地图) - 🔑 邀请码加入好友的群组 - 📍 地图上标记美食店,支持附近搜索 - 📷 上传店图(云存储 + CDN) - ❤️ 点赞、💬 评论 - 🔒 群组数据完全隔离(非成员无法查看) ## 目录结构 ``` foodmap/ ├── project.config.json # 项目配置 ├── miniprogram/ # 小程序端 │ ├── app.js / app.json / app.wxss │ ├── config.js # ★ 填云环境 ID │ ├── utils/api.js # 云函数调用封装 │ └── pages/ │ ├── index/ # 我的群组列表(创建/加入) │ ├── map/ # 地图(附近标记) │ ├── add-marker/ # 添加美食 │ └── marker-detail/ # 详情(点赞/评论/导航) ├── cloudfunctions/api/ # 后端(统一云函数) └── database/init.md # 数据库集合与索引说明 ``` ## 运行步骤 ### 1. 注册小程序 到 [微信公众平台](https://mp.weixin.qq.com) 注册一个小程序(**个人主体即可,免费**),拿到 AppID。 ### 2. 导入项目 1. 打开微信开发者工具,选择「导入项目」 2. 目录选本项目根目录 `foodmap/` 3. AppID 填你自己的(`project.config.json` 里的 `touristappid` 会自动被替换,或手动改) ### 3. 开通云开发 1. 工具栏点「云开发」按钮,开通并创建一个环境 2. 记下**环境 ID**(云开发控制台 → 设置 → 环境 ID) 3. 打开 `miniprogram/config.js`,把 `YOUR_ENV_ID` 替换成你的环境 ID ### 4. 初始化数据库 按 [`database/init.md`](database/init.md) 创建 6 个集合,并配置索引(**尤其要给 `markers.location` 建地理位置索引**)。 ### 5. 部署云函数 1. 在开发者工具的资源管理器中,右键 `cloudfunctions/api` 目录 2. 选择「上传并部署:云端安装依赖」 3. 等待部署完成 ### 6. 运行 编译项目,即可在模拟器中体验:创建群组 → 进入地图 → 添加标记。 给好友用:开发者工具里添加「体验成员」(最多约 15 人),发体验版给好友,**未正式发布前云环境一直免费**。 ## 技术要点 - **单云函数路由**:所有后端操作在 `cloudfunctions/api` 里,通过 `event.action` 分发 - **权限隔离**:每个操作都校验「当前用户是否为群成员」,数据按 `groupId` 过滤 - **附近搜索**:云数据库 `geoNear` 聚合 + 地理位置索引 - **点赞去重**:`likes` 集合 `targetId + userId` 唯一索引,计数用原子 `inc` ## 成本 - 开发 + 体验版阶段:**免费云环境,0 成本** - 正式发布后:**19.9 元/月**基础套餐(含 20 万次调用、2GB 容量、5GB CDN 流量),好友群规模远用不完