一个轻量、移动端优先的欧洲免费厕所 Web App。
- 基于 OpenStreetMap 的交互地图
- 使用 Overpass API 查询附近公共厕所
- 只把明确标注
fee=no的厕所认定为“确认免费” - 将未提供费用数据的厕所单独标为“费用未知”
- 排除
access=private、access=no和access=customers - 欧洲城市及地标搜索
- 浏览器定位、距离排序、无障碍筛选
- 开放时间、管理方、步行导航和 OSM 原始数据入口
- 桌面和手机响应式布局
需要 Node.js 20.19+ 或 22.12+。
npm install
npm run dev生产构建:
npm run build
npm run preview厕所数据来自 OpenStreetMap,通过公共 Overpass API 实时查询。地点搜索使用 OpenStreetMap Nominatim。公共服务可能有速率限制,正式上线前建议增加自己的缓存/API 代理,并遵守 OSM、Overpass 和 Nominatim 的使用政策与署名要求。
当前项目是标准 Vite + React 单页应用,可以后续接入 Capacitor:
- 安装
@capacitor/core、@capacitor/cli、@capacitor/ios和@capacitor/android。 - 将 Capacitor 的
webDir指向dist。 - 增加原生定位权限说明和外部导航适配。
- 接入缓存代理、收藏和用户纠错后,再准备商店发布。
项目通过 Cloudflare Workers Static Assets 发布,配置文件是 wrangler.jsonc,生产域名为 https://loo.naassh.com。
npm run deploy