SAP 电商云 Spartacus UI Checkout 页面的三个 page guards
生活随笔
收集整理的這篇文章主要介紹了
SAP 电商云 Spartacus UI Checkout 页面的三个 page guards
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
點(diǎn)擊 Proceed To 按鈕之后,觸發(fā) CmsGuardsService 的 cmsPageCanActivate 方法:
依次調(diào)用每個(gè) 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
當(dāng)前這個(gè)用戶(hù)具有 b2bcustomergroup 的用戶(hù)角色:
這個(gè) page guard 檢查用戶(hù)是否有 CUSTOMER role:
2. 檢查 Cart 是否為空:CartNotEmptyGuard
isEmpty 的具體實(shí)現(xiàn):檢查 cart 對(duì)象的 totalItems 字段是否為空:
3. CheckoutGuard
這五個(gè) step 的每一步驟都用同一個(gè) CheckoutGuard 來(lái)處理:
總結(jié)
以上是生活随笔為你收集整理的SAP 电商云 Spartacus UI Checkout 页面的三个 page guards的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 几种简单的随机数算法「建议收藏」(汉典几
- 下一篇: 井底之蛙造句 井底之蛙的意思和图片