ai-coding
2026-07-28 9afdd1dfda4592b23b306e34f019492d1f680f16
fix(door-trunk): 将 toast 提示移至 stopLoading 回调中确保顺序执行

Co-Authored-By: 甄雪君 <zhenxj@xiaopeng.com>
1个文件已修改
38 ■■■■■ 已修改文件
src/robotaxi/pages/begin-route/components/calling-car-modules/door-trunk-control.tsx 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/robotaxi/pages/begin-route/components/calling-car-modules/door-trunk-control.tsx
@@ -156,8 +156,10 @@
                : !!res?.data;
            if (!unlockSucceeded) {
                // Taro.hideLoading();
                stopLoading(doorType);
                showToast({ title: res?.msg || '解锁失败,请重试或联系客服', icon: 'fail' });
                const failMsg = res?.msg || '解锁失败,请重试或联系客服';
                stopLoading(doorType, () => {
                    showToast({ title: failMsg, icon: 'fail' });
                });
                return;
            }
@@ -183,11 +185,12 @@
                        trunkPollTimerRef.current = setTimeout(doPoll, pollInterval);
                    } else {
                        stopPolling();
                        stopLoading(doorType);
                        // Taro.hideLoading();
                        showToast({
                            title: failToastText,
                            icon: 'none'
                        stopLoading(doorType, () => {
                            showToast({
                                title: failToastText,
                                icon: 'none'
                            });
                        });
                    }
                };
@@ -216,13 +219,14 @@
                            stopPolling();
                            const isOpen = !isCloseAction;
                            setTrunkStatus(isOpen);
                            stopLoading(doorType);
                            // Taro.hideLoading();
                            showToast({
                                title: successToastText,
                                icon: 'none'
                            });
                            onSuccess?.();
                            // Taro.hideLoading();
                            stopLoading(doorType, () => {
                                showToast({
                                    title: successToastText,
                                    icon: 'none'
                                });
                            });
                        } else {
                            handlePollFail('state_mismatch', value);
                        }
@@ -236,14 +240,16 @@
            if (doorType === 'door') {
                // Taro.hideLoading();
                syncDoorUnlockButtonUI();
                stopLoading(doorType);
                showToast({ title: '车门已解锁', icon: 'success' });
                onSuccess?.();
                stopLoading(doorType, () => {
                    showToast({ title: '车门已解锁', icon: 'success' });
                });
            }
        }).catch(() => {
            // Taro.hideLoading();
            stopLoading(doorType);
            showToast({ title: '解锁失败,请重试或联系客服', icon: 'fail' });
            stopLoading(doorType, () => {
                showToast({ title: '解锁失败,请重试或联系客服', icon: 'fail' });
            });
        });
    };