SAP 电商云 Spartacus UI Checkout 页面的三个 page guards
生活随笔
收集整理的這篇文章主要介紹了
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的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 几种简单的随机数算法「建议收藏」(汉典几
- 下一篇: 井底之蛙造句 井底之蛙的意思和图片