|
@@ -290,12 +290,17 @@ router.beforeEach(async (to, from, next) => {
|
|
|
// 注意:这里假设 to.name 是可靠的,否则建议也用 path 映射
|
|
// 注意:这里假设 to.name 是可靠的,否则建议也用 path 映射
|
|
|
const isEnteringWhitelist =
|
|
const isEnteringWhitelist =
|
|
|
(from.path === PATHS.TRACKING_HOME && [PAGE_NAMES.BOOKING_DETAIL, PAGE_NAMES.TRACKING_DETAIL, PAGE_NAMES.ADD_VGM].includes(to.name)) ||
|
|
(from.path === PATHS.TRACKING_HOME && [PAGE_NAMES.BOOKING_DETAIL, PAGE_NAMES.TRACKING_DETAIL, PAGE_NAMES.ADD_VGM].includes(to.name)) ||
|
|
|
- (from.path === PATHS.BOOKING_HOME && [PAGE_NAMES.BOOKING_DETAIL, PAGE_NAMES.TRACKING_DETAIL].includes(to.name)) || from.path === '';
|
|
|
|
|
|
|
+ (from.path === PATHS.BOOKING_HOME && [PAGE_NAMES.BOOKING_DETAIL, PAGE_NAMES.TRACKING_DETAIL].includes(to.name));
|
|
|
|
|
|
|
|
|
|
+ // 场景 4:页面刷新
|
|
|
|
|
+ const isRefresh = from.path === '/' && (to.path === '/tracking' || to.path === '/booking');
|
|
|
// --- 最终逻辑 ---
|
|
// --- 最终逻辑 ---
|
|
|
// 如果满足上述任一“保留”场景,则 NOT 清除 (返回 false)
|
|
// 如果满足上述任一“保留”场景,则 NOT 清除 (返回 false)
|
|
|
// 否则,清除 (返回 true)
|
|
// 否则,清除 (返回 true)
|
|
|
- const shouldKeepFilters = isReturningFromDetail || isReturningFromVgm || isEnteringWhitelist;
|
|
|
|
|
|
|
+
|
|
|
|
|
+ console.log('路由守卫判断:', from)
|
|
|
|
|
+ console.log('路由TO', to)
|
|
|
|
|
+ const shouldKeepFilters = isReturningFromDetail || isReturningFromVgm || isEnteringWhitelist || isRefresh;
|
|
|
|
|
|
|
|
return !shouldKeepFilters;
|
|
return !shouldKeepFilters;
|
|
|
};
|
|
};
|