此时NavigationStart的url里,已经包含了base site:electronics-spa了:
最终调用site-context-params.service.ts里的BaseSiteService的setActive方法,设置当前的BaseSite:
language.effect.ts文件里:
@Injectable()
export class LanguagesEffects {
@Effect()
loadLanguages$: Observable<
| SiteContextActions.LoadLanguagesSuccess
| SiteContextActions.LoadLanguagesFail
> = this.actions$.pipe(
ofType(SiteContextActions.LOAD_LANGUAGES),
exhaustMap(() => {
return this.siteConnector.getLanguages().pipe(
map(
(languages) => new SiteContextActions.LoadLanguagesSuccess(languages)
),
catchError((error) =>
of(
new SiteContextActions.LoadLanguagesFail(
makeErrorSerializable(error)
)
)
)
);
})
);
最后调用OccSiteAdapter的loadLanguages方法:
loadLanguages(): Observable<Language[]> {
return this.http
.get<Occ.LanguageList>(this.occEndpointsService.getUrl('languages'))
.pipe(
map((languageList) => languageList.languages),
this.converterService.pipeableMany(LANGUAGE_NORMALIZER)
);
}
language请求的完整url:
网友评论