【问题标题】:How to create and use custom APIs in Spartacus storefront?如何在 Spartacus 店面中创建和使用自定义 API?
【发布时间】:2021-06-19 07:37:36
【问题描述】:

我们在 hybris 中创建了一个自定义 API,我需要在某些 Spartacus 页面中使用该自定义 API 返回的数据。我想做这个登录后,并想在页面刷新时调用该 api。 此外,我想将数据保持在一个状态,以便我可以跨页面使用它。 我知道如何在 Angular 中做到这一点,但我很困惑如何在 Spartacus 中做到这一点。有人可以帮我吗

【问题讨论】:

    标签: spartacus-storefront


    【解决方案1】:

    您应该将 spartacus 视为外部库。如果你知道如何在 Angular 中实现它,那就去做吧。我们的大部分操作(例如登录)都导出到公共 API 中:

    import { ActivatedRouterStateSnapshot, AuthActions } from '@spartacus/core';
    import { RouterNavigatedAction, ROUTER_NAVIGATED } from '@ngrx/router-store';
    
    @Injectable()
    export class YourEffects {
    
      @Effect()
      yourActionOnLogin$: Observable<YourActions.XXX> = this.actions$.pipe(
        ofType(AuthActions.LOGIN),
        map(() => new CheckoutActions.XXX())
      );
    
      @Effect()
      yourActionOnNavigation$: Observable<YourActions.YYY> = this.actions$.pipe(
        ofType<RouterNavigatedAction<ActivatedRouterStateSnapshot>>(
          ROUTER_NAVIGATED
        ),
        map(() => new YourActions.YYY())
      );
    
    }
    

    您也可以为部分 ngrx 存储和 occ 适配器 (API) 创建和提供自己的模块。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-06-14
      • 1970-01-01
      • 1970-01-01
      • 2023-04-04
      相关资源
      最近更新 更多