MoveCar 是一个基于 Cloudflare Workers 构建的智能挪车通知系统,通过二维码扫码机制实现请求者与车主之间的隐私保护通信。该系统解决了传统挪车电话号码暴露的隐私问题,通过推送通知、位置共享和双向确认机制,为双方提供安全便捷的挪车联系方案。

核心特性
MoveCar 系统通过一系列精心设计的功能机制,实现了隐私保护、反滥用和用户体验的平衡。核心特性包括不暴露个人电话号码、双向位置共享、30秒延迟防滥用机制、完全免费的 Cloudflare Workers 部署以及零运维成本的 Serverless 架构。系统支持 Bark 推送通知的高级功能,包括紧急通知级别、自定义音效以及勿扰模式提醒,确保车主能够及时收到挪车请求。
| 特性类别 | 功能说明 | 技术实现 |
|---|---|---|
| 隐私保护 | 不暴露电话号码,通过推送通知联系 | Bark API 推送服务 |
| 位置验证 | 车主可确认请求者确实在车旁 | Geolocation API + WGS-84/GCJ-02 转换 |
| 反滥用机制 | 无位置时延迟30秒发送,降低骚扰动力 | delayed 标志 + setTimeout 机制 |
| 实时通信 | 请求者可实时查看车主回应状态 | KV 存储 + 轮询机制 (3秒间隔) |
| 成本控制 | 无需服务器,免费额度完全够用 | Cloudflare Workers 免费层 |
| 移动优先 | 响应式设计,适配各种屏幕尺寸 | CSS Grid + Viewport 适配 |
系统架构
MoveCar 采用 Serverless 架构设计,整个系统由 Cloudflare Worker 作为后端服务,配合 KV 存储进行状态管理,前端采用响应式 HTML 页面。请求者通过扫描二维码进入通知页面,系统将请求者的位置信息(可选)和留言存储到 KV 数据库,然后通过 Bark API 向车主推送通知。车主收到推送后点击进入确认页面,可以查看请求者位置并确认,确认后系统会将车主的位置信息反馈给请求者,完成双向位置共享。
技术栈与集成
MoveCar 建立在 Cloudflare Workers Serverless 平台之上,利用其边缘计算能力和免费层级实现零成本部署。后端使用 JavaScript 编写,通过 addEventListener('fetch') 监听 HTTP 请求并路由到不同的处理函数。数据持久化采用 Cloudflare KV 存储,用于存储请求者位置、车主位置和通知状态,数据设置 3600 秒 TTL 自动过期。推送通知集成 Bark API,支持 critical 级别通知、自定义音效和勿扰模式提醒。地理信息系统实现 WGS-84 到 GCJ-02 坐标系转换,确保中国境内地图服务的准确性。前端采用原生 JavaScript 和 CSS,支持响应式设计、安全区域适配和移动端手势优化。
| 技术组件 | 用途 | 关键配置 |
|---|---|---|
| Cloudflare Workers | Serverless 后端运行环境 | 免费层每天 100,000 次请求 |
| Cloudflare KV | 状态和位置数据存储 | TTL: 3600秒 (1小时) |
| Bark API | iOS 推送通知服务 | 级别: critical, 音效: minuet |
| Geolocation API | 获取用户地理位置 | enableHighAccuracy: true |
| WGS-84 → GCJ-02 | 坐标系转换算法 | 中国国测局坐标系 |
| 高德地图 API | 地图导航链接 | uri.amap.com URL scheme |
| Apple Maps | iOS 地图导航 | maps.apple.com URL scheme |
