欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

SAP 电商云 Spartacus UI Checkout 页面的三个 page guards

发布时间:2023/12/19 编程问答 43 豆豆
生活随笔 收集整理的这篇文章主要介绍了 SAP 电商云 Spartacus UI Checkout 页面的三个 page guards 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

点击 Proceed To 按钮之后,触发 CmsGuardsService 的 cmsPageCanActivate 方法:

依次调用每个 page guard:

if (guards.length) {const canActivateObservables = guards.map((guardClass) => {const guard = this.injector.get<CanActivate>(guardClass, null);if (isCanActivate(guard)) {return wrapIntoObservable(guard.canActivate(route, state)).pipe(first());} else {throw new Error('Invalid CanActivate guard in cmsMapping');}});

1. CheckoutAuthGuard

当前这个用户具有 b2bcustomergroup 的用户角色:

这个 page guard 检查用户是否有 CUSTOMER role:

2. 检查 Cart 是否为空:CartNotEmptyGuard

isEmpty 的具体实现:检查 cart 对象的 totalItems 字段是否为空:

3. CheckoutGuard

这五个 step 的每一步骤都用同一个 CheckoutGuard 来处理:

总结

以上是生活随笔为你收集整理的SAP 电商云 Spartacus UI Checkout 页面的三个 page guards的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。