|
- import { provideHttpClient, withInterceptors } from '@angular/common/http';
- import { default as ngLang } from '@angular/common/locales/zh';
- import { ApplicationConfig, EnvironmentProviders, Provider } from '@angular/core';
- import { provideAnimations } from '@angular/platform-browser/animations';
- import { provideRouter, withComponentInputBinding, withViewTransitions, withInMemoryScrolling, withHashLocation, RouterFeatures } from '@angular/router';
- import { defaultInterceptor, provideStartup } from '@core';
- import { provideCellWidgets } from '@delon/abc/cell';
- import { provideSTWidgets } from '@delon/abc/st';
- import { authSimpleInterceptor, provideAuth } from '@delon/auth';
- import { provideSFConfig } from '@delon/form';
- import { AlainProvideLang, provideAlain, zh_CN as delonLang } from '@delon/theme';
- import { AlainConfig } from '@delon/util/config';
- import { environment } from '@env/environment';
- import { CELL_WIDGETS, ST_WIDGETS, SF_WIDGETS } from '@shared';
- import { zhCN as dateLang } from 'date-fns/locale';
- import { NzConfig, provideNzConfig } from 'ng-zorro-antd/core/config';
- import { zh_CN as zorroLang } from 'ng-zorro-antd/i18n';
-
-
-
- import { provideBindAuthRefresh } from './core/net';
- import { routes } from './routes/routes';
- import { ICONS } from '../style-icons';
- import { ICONS_AUTO } from '../style-icons-auto';
-
- const defaultLang: AlainProvideLang = {
- abbr: 'zh-CN',
- ng: ngLang,
- zorro: zorroLang,
- date: dateLang,
- delon: delonLang
- };
-
- const alainConfig: AlainConfig = {
- auth: { login_url: '/passport/login' }
- };
-
- const ngZorroConfig: NzConfig = {};
-
- const routerFeatures: RouterFeatures[] = [
- withComponentInputBinding(),
- withViewTransitions(),
- withInMemoryScrolling({ scrollPositionRestoration: 'top' })
- ];
- if (environment.useHash) routerFeatures.push(withHashLocation());
-
- const providers: Array<Provider | EnvironmentProviders> = [
- provideHttpClient(withInterceptors([...(environment.interceptorFns ?? []), authSimpleInterceptor, defaultInterceptor])),
- provideAnimations(),
- provideRouter(routes, ...routerFeatures),
- provideAlain({ config: alainConfig, defaultLang, icons: [...ICONS_AUTO, ...ICONS] }),
- provideNzConfig(ngZorroConfig),
- provideAuth(),
- provideCellWidgets(...CELL_WIDGETS),
- provideSTWidgets(...ST_WIDGETS),
- provideSFConfig({
- widgets: [...SF_WIDGETS]
- }),
- provideStartup(),
- ...(environment.providers || [])
- ];
-
- // If you use `@delon/auth` to refresh the token, additional registration `provideBindAuthRefresh` is required
- if (environment.api?.refreshTokenEnabled && environment.api.refreshTokenType === 'auth-refresh') {
- providers.push(provideBindAuthRefresh());
- }
-
- export const appConfig: ApplicationConfig = {
- providers: providers
- };
|