hejianhao
2026-05-25 5d80c38c77cbbd89294ac7c97d383dfd49fad3f0
fix(share-trip): 修复分享行程页无限轮询并添加超时提示

设定轮询间隔为10秒,最多轮询60次(总计10分钟),轮询超时后停止轮询并显示提示
1个文件已修改
14 ■■■■■ 已修改文件
src/robotaxi/pages/share-trip/hooks/use-share-trip-runtime.ts 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/robotaxi/pages/share-trip/hooks/use-share-trip-runtime.ts
@@ -9,6 +9,9 @@
type RouteDistance = { value: number; unit: 'km' | 'm' } | null;
const SHARE_TRIP_POLL_INTERVAL_MS = 10000; // 分享页轮询间隔
const MAX_SHARE_TRIP_POLL_COUNT = 60; // 分享页最多轮询 10 分钟
type Deps = {
  authReady: boolean;
  orderId: string;
@@ -335,6 +338,7 @@
    let cancelled = false;
    let timer: ReturnType<typeof setInterval> | null = null;
    let pollCount = 0;
    const stopPolling = () => {
      if (timer) {
@@ -466,7 +470,15 @@
        if (!infoState || cancelled) return;
        fetchShareTripData();
        if (infoState.mappedStatus < TripStatus.ArrivedDestination) {
          timer = setInterval(fetchShareTripData, 10000);
          timer = setInterval(() => {
            pollCount += 1;
            if (pollCount >= MAX_SHARE_TRIP_POLL_COUNT) {
              stopPolling();
              Taro.showToast({ title: '分享行程数据可能不是最新,请手动刷新', icon: 'none' });
              return;
            }
            fetchShareTripData();
          }, SHARE_TRIP_POLL_INTERVAL_MS);
        }
      })
      .catch((error) => {