Taxi Machine 是面向白标出行产品的技能编排方案,用于定义业务领域、流程,以及如何组合各项技术技能;它不替代项目特定的后端或支付实现。
用途:构建白标出租车/网约车应用,包含乘客、司机、运营三类角色,覆盖下单—匹配—行程—支付等流程。
主要能力:它组合多种技能,包括 Expo 导航(react-native-expo-navigation)、白标 UI 主题(better-mobile-interface-react-native)、原生地图(google-maps-sdk)、Directions/Places/Geocoding HTTP(google-maps-apis)、地图路线(react-native-routes)、定位(geolocation)、逆地理编码(reverse-geocoding)、实时位置(react-native-realtime-location)、后台定位(react-native-background-location)、锁屏/常驻状态(react-native-live-activities)以及通用 RN 开发(react-native-development)。
白标配置:通过 TenantConfig 按租户配置品牌、法务链接、地图、功能开关与支付方式,UI token 由 accent 与中性色派生,界面中不硬编码客户名称,功能以标志位控制。
行程状态机:idle→estimating→requested→matching→accepted→driver_arriving→waiting_pax→in_trip→completed,并可从 requested 至 waiting_pax 进入 canceled、expired 或 failed;状态转换仅在后端作为真值源,客户端做乐观更新与对账,使用稳定 tripId 并在创建、取消、支付时保证幂等。
使用方式:乘客侧含地点自动补全与地图选点、逆地理编码、预估价格与 ETA、匹配与实时地图、路线、支付与评价;司机侧含上线开关与定位权限、接单超时、导航、行程中后台追踪、状态上报与常驻通知。应用结构建议按 apps/passenger、apps/driver 和 packages 拆分,并适配既有 monorepo。
限制与注意:地图密钥需按平台与后端限制,GPS 轨迹保留需符合隐私政策,避免离线仍开启 Always 定位、客户端算价不校验、无加载与权限错误状态、硬编码品牌、跳过预估直接扣款等反模式。具体后端、支付、价格与合规细节取决于项目,资料未提供。