# 小鱼趣旅行 **Repository Path**: gitmy/LeSi-XiaoYu-Travel ## Basic Information - **Project Name**: 小鱼趣旅行 - **Description**: 用心记录每一段旅途,收藏走过的风景与故事。 - **Primary Language**: Unknown - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2026-04-01 - **Last Updated**: 2026-04-01 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 小鱼趣旅行 (LeSi-XiaoYu-Travel) > 🌍 一款轻量级、社区化的旅行记录与分享小程序。用脚步丈量世界,用心记录美好。 --- ## 📖 项目简介 “小鱼趣旅行”是一款基于微信小程序 + 微信云开发打造的旅行打卡工具。在这里,你可以记录自己的旅行足迹、打卡各地美食、分享实用的旅游攻略。同时,它还具备社区属性,你可以将自己的记录设为公开,与其他旅行爱好者一起分享世界的美好。 ## ✨ 核心功能模块 ### 1. 🗺️ 首页足迹地图 - **真实定位**:进入小程序自动获取并定位到当前真实地理位置。 - **足迹打卡图**:将你去过的地方或计划去的地方,以图钉的形式直观地展示在地图上。 - **红绿双标**:地图采用双色图钉设计(🔴 红色代表我的记录,🟢 绿色代表他人公开的记录),一眼看清世界足迹。 - **数据统计**:顶部动态统计“我已打卡”和“我计划中”的旅行数量。 ![地图功能截图](images/map_preview.png) ### 2. ✈️ 旅行记录 - **记录美好**:支持图文并茂地记录每一次旅行,可标记地理位置和旅行日期。 - **状态管理**:可将记录标记为“已去过”或“计划中”。 - **隐私保护**:支持设置“公开分享”或“私密”。私密记录仅自己可见,完美保护个人隐私。 - **动态列表**:列表按时间倒序排列,优先展示自己的记录,其次展示他人公开的记录,并带有清晰的作者标签。 ![旅行记录截图](images/record_preview.png) ### 3. 🍕 美食打卡 - **吃货日记**:记录旅途中的每一顿大餐,支持上传多张美食诱惑图。 - **瀑布流展示**:美食列表采用双列瀑布流布局,视觉体验更佳。 - **权限隔离**:同样支持公开与私密设置,且只有创建者本人可以编辑或删除自己的打卡记录。 ![美食打卡截图](images/food_preview.png) ### 4. 📒 旅游攻略 - **经验分享**:发布长篇旅游攻略,支持设置吸引人的封面图和摘要。 - **社区交流**:查看别人分享的避坑指南和行程规划。 - **智能防触**:列表页长按管理功能加入了严格的权限校验,防止误删他人心血。 ![旅游攻略截图](images/guide_preview.png) ### 5. 👤 个人中心 - **个性化装扮**:支持自定义微信头像、修改昵称,并拥有沉浸式的顶部背景壁纸。 - **数据看板**:直观展示你在各个模块的发布数量。 - **便捷服务**:内置意见反馈和关于我们等实用功能。 ![个人中心截图](images/my_preview.png) --- ## 🛠️ 技术栈与亮点 - **前端框架**:原生微信小程序 (WXML / WXSS / JS) - **后端服务**:微信云开发 (CloudBase) - **云数据库**:NoSQL 数据库,存储游记、美食、攻略等结构化数据。 - **云存储**:存储用户上传的图片,内置 `wx.compressImage` 压缩逻辑,节省流量。 - **云函数**:使用 `quickstartFunctions` 处理 OpenID 获取及私有图片临时链接(TempFileURL)的签名下发,完美绕过免费版存储权限限制。 - **权限设计**:实现了精细化的社区权限控制,通过 `_openid` 与本地身份比对,实现了“我的置顶”、“私密隔离”、“防误操作”等核心业务逻辑。 --- ## 🚀 部署与运行指南 ### 1. 环境准备 - 下载并安装 [微信开发者工具](https://developers.weixin.qq.com/miniprogram/dev/devtools/download.html)。 - 注册微信小程序账号,获取 `AppID`。 - 开通“微信云开发”服务。 ### 2. 项目导入 - 在微信开发者工具中导入本项目,填入你的 `AppID`。 - 打开 `miniprogram/app.js`,将 `env: "cloud1-3gh6q0bb6531738e"` 替换为你自己的云开发环境 ID。 ### 3. 数据库初始化 在云开发控制台 -> 数据库中,创建以下三个集合,并将其权限均设置为 **“所有用户可读,仅创建者可读写”**: - `travel_records` (旅行记录) - `food_records` (美食打卡) - `travel_guides` (旅游攻略) ### 4. 部署云函数 - 在开发者工具左侧目录树中找到 `cloudfunctions/quickstartFunctions`。 - 右键点击该文件夹,选择 **“当前环境”** 并关联你的云环境。 - 再次右键点击该文件夹,选择 **“上传并部署:云端安装依赖(不上传 node_modules)”**。 ### 5. 编译运行 - 点击开发者工具顶部的“编译”按钮,即可在模拟器中预览效果。 --- ## 📝 目录结构说明 ```text LeSi-XiaoYu-Travel/ ├── cloudfunctions/ # 云函数目录 │ └── quickstartFunctions/ # 核心云函数(包含获取 OpenID 和签名图片链接) ├── miniprogram/ # 小程序前端代码 │ ├── images/ # 图片资源文件 (Tabbar图标、地图图钉等) │ ├── pages/ # 页面视图目录 │ │ ├── home/ # 首页地图 │ │ ├── record/ # 旅行记录列表与详情 │ │ ├── food/ # 美食打卡列表与详情 │ │ ├── guide/ # 旅游攻略列表与详情 │ │ └── my/ # 个人中心 │ ├── app.js # 小程序逻辑入口 (包含全局 openid 异步获取) │ ├── app.json # 小程序全局配置 │ └── app.wxss # 小程序全局样式 └── README.md # 项目说明文档 ``` --- *本项目由爱吃香蕉的阿豪开发。*