切換器何時自動彈出
當啟用多分店功能後,若顧客進入任何顧客端頁面且尚未選擇分店,分店切換器彈窗會自動出現。觸發邏輯位於 location-selected.service.ts,會監看顧客當前路由並確認此次工作階段是否已選定分店。
自動彈窗僅在顧客端頁面觸發,後台與管理介面不會被打斷。少數有特殊上線流程的商家可選擇關閉自動彈窗,此時顧客需從側邊欄手動開啟切換器。
切換器彈窗顯示的內容
切換器位於 customer/modals/location-picker/。當新版介面啟用時(feature flag FeatureFlags.NewUi.Locations),每間分店會以卡片呈現,顯示主視覺封面照、分店名稱與簡短說明,讓選擇變得直覺。
顧客選定分店後,系統會依序執行三個動作:
- locationStore.selectLocation() 更新目前作用中的分店狀態。
- settingsStore.selectByLocationId() 載入該分店的設定。
- dataInit.syncStorage() 將選擇寫入儲存空間,重新整理也不會遺失。
彈窗關閉後,網站其餘部分會以選定的分店重新渲染。
從側邊欄手動切換
顧客可隨時點選側邊欄的 切換分店,重新開啟切換器彈窗。此入口會略過「必須選擇」的檢查,因此即使顧客改變主意,也能直接關閉彈窗並停留在目前分店。
對於關閉自動彈窗的特定商家而言,側邊欄是唯一重新開啟切換器的入口;對於常往返多個分店上課的顧客,也能輕鬆切換。
