PWA Kit 版本 2.x 的混合穩定性升級

本指南介紹如何在 混合網店 中進行和驗證代碼更改,以便:

  • 在版本 2.8.4 或更低版本上更新 Progressive Web App (PWA) Kit 專案,以實現混合穩定性。這可能會提高購物車的性能。
  • 從 Plugin Shopper Login and API Access Service (Plugin SLAS) 版本 7.3.0 或更高版本升級到版本 7.4.0。

建議在非 Production 環境中測試這些步驟,然後再將變更部署到生產 Production 環境。

只有現有客戶才能存取此頁面上的某些連結。造訪 Salesforce Commerce Cloud GitHub 存放庫和存取,以瞭解有關如何存取 Commerce Cloud 存放庫的資訊。

Tip

Note

新功能 

為了提高混合網店的穩定性和性能,我們:

  • 刪除了對 PWA Kit 的 OCAPI /sessions 調用以消除工作階段改動(頻繁更改為 dwsid)。dwsid 有關詳細資訊,請參閱 瞭解 SFRA 和 PWA Kit 之間的會話管理
  • 在 Salesforce Commerce API (SCAPI) 調用中添加了標頭 (sfdc_dwsid) 以發送到 dwsid SCAPI,以確保來自給定購物者會話的請求被路由到同一應用程式伺服器。
  • 從 PWA Kit 配置中刪除了 Open Commerce API (OCAPI) 代理,這使得 PWA Kit 完全基於 SCAPI。

先決條件 

如果尚未執行此作,請完成以下步驟。

提交支援請求 

打開一個支援案例,請求 Salesforce 客戶支援為 dwsid 啟用會話覆蓋。在支援案例中:

  • 請求啟用父切換和子切換。
  • 提及正確的域ID和租戶ID。如果您不知道自己的領域ID,請諮詢您的客戶經理或 Customer Success Manager。

更改 PWA Kit 代碼 

如果使用的是 PWA Kit 版本 2.8.4 或更早版本,請在專案中完成這些步驟。

  1. 檢查專案中的這些檔與此 拉取請求中更改的檔案之間的差異。

    • template-retail-react-app/app/commerce-api/auth.js
    • template-retail-react-app/app/commerce-api/index.js
    • template-retail-react-app/app/commerce-api/utils.js
  2. 使用拉取請求中的新代碼和更改的代碼更新專案。

更改外掛程式 SLAS 代碼 

如果您使用的是外掛程式 SLAS 版本 7.3.0 或更高版本,請完成以下步驟。

  1. cartridges/plugin_slas/cartridge/controllers/Login.js

    • 在控制器中 /Login-Logout 註銷後刪除 access_token cookie
    • 添加到 config.ACCESS_TOKEN_COOKIE_NAME cookiesToRemove 控制器中的 /Login-Logout 陣列。
  2. cartridges/plugin_slas/cartridge/scripts/helpers/slasAuthHelper.js 中,更新 removeCookie 函數以刪除任何現有的cookie塊:

    • 將條件從完全符合 (==) 變更為 .startsWith
  3. 在 中 cartridges/plugin_slas/cartridge/scripts/hooks/request/onSession.js ,更新 onSession 新訪客購物者流的鉤子實現:

    • 將from x-is-session_id header 提取 dwsid 到變數中。
    • 在調用 getSLASAccessTokenForGuestSessionBridge中使用變數。
    • dwsid Cookie 設置為對新訪客購物者的回應。

查看此 拉取請求中更改的檔案。

驗證代碼更改 

  1. 確認 PWA Kit 未撥打 OCAPI /sessions

    • 轉到您的網店並清除所有網站數據。

      如果您使用的是 Chrome DevTools,請參閱 刪除所有快取資料

    • 刷新您的網店或轉到基於 PWA Kit 的任何頁面,然後檢查 Chrome DevTools 中的「網路」選項卡。確認您沒有看到向「dw/shop//sessions」發出的請求。請參閱 Chrome DevTools 中的此示例。

無會話

  1. 確認 dwsid 與所有 SCAPI 請求一起發送。

    • 轉到您的網店。訪問任何基於 SFRA/SG 的頁面,然後轉到基於 PWA Kit 的頁面。
    • 如果您使用的是 Chrome DevTools:
      • 打開 Cookie 儲存並在 Cookie 中尋找 dwsid 價值。請參閱 打開“Cookie”窗格
      • 打開「網路」選項卡並檢查任何 SCAPI 請求(例如, /baskets)。在「請求標頭」中,確認您看到的 sfdc_dwsid 標頭的值與 dwsid 在上一步中找到的值相同。請參閱 Chrome DevTools 中的此示例。

無會話

也請參閱