PWA Kit 版本 3.8.0 的混合穩定性升級
本指南介紹如何在 混合網店 中進行和驗證代碼更改,以便:
- 將 Progressive Web App (PWA) 工具包專案從版本 3.5.0 或更高版本更新到版本 3.8.0。
- 從 Plugin Shopper Login and API Access Service (Plugin SLAS) 版本 7.3.0 或更高版本升級到版本 7.4.0。
建議在非 Production 環境中測試這些步驟,然後再將變更部署到生產 Production 環境。
只有現有客戶才能存取此頁面上的某些連結。造訪 Salesforce Commerce Cloud GitHub 存放庫和存取,以瞭解有關如何存取 Commerce Cloud 存放庫的資訊。
- 本指南中的步驟適用於使用 外掛程式 SLAS 的混合網店。在 B2C Commerce 版本 25.3 中,混合身份驗證 (auth) 取代了外掛程式 SLAS。有關更多資訊,請參閱 使用混合身份驗證配置混合網店。
- 本指南適用於部分使用 PWA Kit 版本 3.5.0 或更高版本構建的混合網店。有關適用於 PWA Kit 版本 2.x 的步驟,請參閱 PWA Kit 版本 2.x 的混合穩定性升級。
為了提高混合網店的穩定性和性能,我們:
- 刪除了對 PWA Kit 的
OCAPI /sessions
調用以消除工作階段改動(頻繁更改為dwsid
)。dwsid
有關詳細資訊,請參閱 瞭解 SFRA 和 PWA Kit 之間的會話管理。 - 在 Salesforce Commerce API (SCAPI) 調用中添加了標頭,以發送到
dwsid
SCAPI,以確保來自給定購物者會話的請求被路由到同一應用程式伺服器。 - 從 PWA Kit 配置中刪除了 Open Commerce API (OCAPI) 代理,這使得 PWA Kit 完全基於 SCAPI。
如果尚未執行此作,請完成以下步驟。
- 為 PWA Kit 設定 SLAS
- 設定工作階段橋接
- 設定路由.也請參閱分階段無頭式部署的 CDN API。
- 對 PWA Kit 專案進行其他變更
打開一個支援案例,請求 Salesforce 客戶支援為 dwsid 啟用會話覆蓋。在支援案例中:
- 請求啟用父切換和子切換。
- 提及正確的域ID和租戶ID。如果您不知道自己的領域ID,請諮詢您的客戶經理或 Customer Success Manager。
如果使用的是 PWA Kit 版本 3.5.0 或更高版本:
-
要升級到最新版本的 Commerce SDK React,請運行:
npm install @salesforce/commerce-sdk-react@latest
-
若要升級到最新版本的 Retail React App,請執行以下命令:
npm install @salesforce/retail-react-app@latest
如果您使用的是外掛程式 SLAS 版本 7.3.0 或更高版本,請完成以下步驟。
-
在
cartridges/plugin_slas/cartridge/controllers/Login.js
- 在控制器中
/Login-Logout
註銷後刪除access_token
cookie - 添加到
config.ACCESS_TOKEN_COOKIE_NAME
cookiesToRemove
控制器中的/Login-Logout
陣列。
- 在控制器中
-
在
cartridges/plugin_slas/cartridge/scripts/helpers/slasAuthHelper.js
中,更新removeCookie
函數以刪除任何現有的cookie塊:- 將條件從完全符合 (==) 變更為
.startsWith
。
- 將條件從完全符合 (==) 變更為
-
在 中
cartridges/plugin_slas/cartridge/scripts/hooks/request/onSession.js
,更新onSession
新訪客購物者流的鉤子實現:- 將from
x-is-session_id header
提取dwsid
到變數中。 - 在調用
getSLASAccessTokenForGuestSessionBridge
中使用變數。 - 將
dwsid
Cookie 設置為對新訪客購物者的回應。
- 將from
查看此 拉取請求中更改的檔案。
-
確認 PWA Kit 未撥打
OCAPI /sessions
。-
轉到您的網店並清除所有網站數據。
如果您使用的是 Chrome DevTools,請參閱 刪除所有快取資料。
-
刷新您的網店或轉到基於 PWA Kit 的任何頁面,然後檢查 Chrome DevTools 中的「網路」選項卡。確認您沒有看到向「dw/shop/
/sessions」發出的請求。請參閱 Chrome DevTools 中的此示例。
-
-
確認
dwsid
與所有 SCAPI 請求一起發送。- 轉到您的網店。訪問任何基於 SFRA/SG 的頁面,然後轉到基於 PWA Kit 的頁面。
- 如果您使用的是 Chrome DevTools:
- 打開 Cookie 儲存並在 Cookie 中尋找
dwsid
價值。請參閱 打開“Cookie”窗格。 - 打開「網路」選項卡並檢查任何 SCAPI 請求(例如,
/baskets
)。在「請求標頭」中,確認您看到的sfdc_dwsid
標頭的值與dwsid
在上一步中找到的值相同。請參閱 Chrome DevTools 中的此示例。
- 打開 Cookie 儲存並在 Cookie 中尋找