TrailMate山迹:徒步出发前的风险检查工具开发记录
·10 min read
产品介绍
TrailMate(山迹)是一个徒步出发前的风险检查工具。
Slogan:出发前,先看看。
核心价值:3秒出结果。用户输入徒步路线,立即获得风险评估报告。
产品设计
设计理念
极简4页:搜索页、检查报告页、收藏页、我的页。
MVP不含路线攻略、社区、导航、AI问答,专注核心功能。
核心指标
- 搜索转化≥60%
- 收藏率≥15%
- 次日回访≥25%
设计风格
Apple Outdoor + Garmin仪表盘 + AllTrails信息密度。
主色#2E6F57(绿),警告#F4A261,危险#E74C3C。
报告页设计
- 风险星级48rpx+颜色编码
- 天气2x2网格
- 装备Tag流式布局
设计文档体系
项目采用分域管理:
- 01-PRD.md — 产品需求文档
- 02-UI-DESIGN.md — UI/UX设计规范
- 03-TECH-DESIGN.md — 技术架构设计
- 04-AGENT-TASK.md — Agent执行任务清单
技术实现
前端:微信原生小程序 + TypeScript
后端:微信云开发
第三方API:和风天气 + 高德地图
技术架构
前端层:微信小程序 + TypeScript
服务层:云函数(Node.js)
数据层:云数据库 + 云存储
第三方:天气API + 地图API
选择云开发的原因
- 个人项目,运维成本要低
- 微信生态内,用户获取路径短
- 云函数按需计费,初期成本几乎为零
Provider抽象模式
设计了Provider抽象层,支持后期换源:
- 天气Provider:当前用和风,可换为其他天气API
- 地图Provider:当前用高德,可换为腾讯地图
缓存策略
- 实时天气:30分钟缓存
- 7天预报:6小时缓存
- 种子坐标:永久缓存
数据流设计
用户输入 → 地理编码 → 天气查询 → 风险计算 → 报告生成
踩坑记录
- API认证:某些天气API使用特殊签名算法,需要仔细阅读文档
- 缓存策略:天气数据需要合理缓存,避免频繁调用
- 数据精度:地理坐标精度影响天气查询准确性