| | |
| | | }: Props) { |
| | | const [queueStatus, setQueueStatus] = useState<QueueStatus>(null); |
| | | const pollingIntervalMs = Math.max(1000, Number(queuePollingTimeSeconds || 10) * 1000); // 排队位次轮询间隔 |
| | | const inServiceDurationDisplay = durationDisplay.unit === '秒' |
| | | ? { value: 1, unit: '分钟' as const } |
| | | : durationDisplay; // 行程中剩余时间小于 1 分钟时按 1 分钟展示 |
| | | |
| | | useEffect(() => { |
| | | if (tripStatus !== TripStatus.CallingCar || !orderId) { |
| | |
| | | ? <>车辆即将到达,请准备上车</> |
| | | : <>车辆还有<View className="time">{durationDisplay.value}</View>{durationDisplay.unit}到达</>, |
| | | [TripStatus.VehicleArrivedPickup]: <>{isPickupCountdownSoon ? '车辆已到达,请尽快上车' : '车辆已到达上车点'}<View className="time" style={isPickupCountdownSoon ? { color: '#f58900' } : undefined}>{pickupCountdownSeconds !== null ? formatCountdown(pickupCountdownSeconds) : '--:--'}</View></>, |
| | | [TripStatus.InService]: <>预计<View className="time">{durationDisplay.value}</View>{durationDisplay.unit}抵达目的地</>, |
| | | [TripStatus.InService]: <>预计<View className="time">{inServiceDurationDisplay.value}</View>{inServiceDurationDisplay.unit}抵达目的地</>, |
| | | [TripStatus.ArrivedDestination]: (finishCountdownEnabled || finishCountdownSeconds !== null) |
| | | ? <>已到达目的地<View className="time">{finishCountdownSeconds !== null ? formatCountdown(finishCountdownSeconds) : '--:--'}</View></> |
| | | : <>已到达目的地</>, |