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。
建议在非生产环境中测试这些步骤,然后再将更改部署到生产环境。
只有现有客户才能访问此页面上的某些链接。请访问 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 中寻找