PZ

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小时缓存
  • 种子坐标:永久缓存

数据流设计

用户输入 → 地理编码 → 天气查询 → 风险计算 → 报告生成

踩坑记录

  1. API认证:某些天气API使用特殊签名算法,需要仔细阅读文档
  2. 缓存策略:天气数据需要合理缓存,避免频繁调用
  3. 数据精度:地理坐标精度影响天气查询准确性