Я использую рендеринг ssr, и у меня проблема с использованием окна и его значений в моем приложении. Теперь я могу получить свойство окна, используя следующий код:
@Inject(PLATFORM_ID) private platformId: Object) {
if (isPlatformBrowser(this.platformId)) {
console.log(window.appConfig.apiBaseUrl)
// this.apiBaseUrl = window.appConfig.apiBaseUrl;
}
}
Мой вопрос заключается в том, как я могу получить доступ к window.appConfig.apiBaseUrl в приведенном ниже коде, который, в свою очередь, конфигурации RestangularConfigFactory:
export function RestangularConfigFactory(RestangularProvider) {
// TODO - change default config
RestangularProvider.setBaseUrl(window.appConfig.apiProxy);
RestangularProvider.addFullRequestInterceptor((element, operation, path, url, headers, params) => {
// Auto add token to header
headers.Authorization = 'Bearer ' + localStorage.getItem('accessToken');
headers.platform = window.appConfig.platform;
return {
headers: headers
};
});
RestangularProvider.addErrorInterceptor((response, subject, responseHandler) => {
// force logout and relogin
if (response.status === 401) {
localStorage.removeItem('accessToken');
localStorage.removeItem('isLoggedin');
window.location.href = '/auth/login';
return false; // error handled
}
return true; // error not handled
});
}