From 46d4905467aeaf1979613a156753b6625608820b Mon Sep 17 00:00:00 2001 From: xufenglei <xufenglei> Date: Fri, 03 Aug 2018 17:24:02 +0800 Subject: [PATCH] 页面 优化 --- src/app/app.module.ts | 76 +++++++++++++++++++++++++++++++++----- 1 files changed, 66 insertions(+), 10 deletions(-) diff --git a/src/app/app.module.ts b/src/app/app.module.ts index 926975a..f5b03a8 100644 --- a/src/app/app.module.ts +++ b/src/app/app.module.ts @@ -1,18 +1,74 @@ +import { NgModule, LOCALE_ID, APP_INITIALIZER, Injector } from '@angular/core'; +import { HttpClient, HTTP_INTERCEPTORS, HttpClientModule } from '@angular/common/http'; import { BrowserModule } from '@angular/platform-browser'; -import { NgModule } from '@angular/core'; +import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; - +import { DelonModule } from './delon.module'; +import { CoreModule } from '@core/core.module'; +import { SharedModule } from '@shared/shared.module'; import { AppComponent } from './app.component'; +import { RoutesModule } from './routes/routes.module'; +import { LayoutModule } from './layout/layout.module'; +import { StartupService } from '@core/startup/startup.service'; +import { DefaultInterceptor } from '@core/net/default.interceptor'; +import { SimpleInterceptor } from '@delon/auth'; +// angular i18n +import { registerLocaleData } from '@angular/common'; +import localeZhHans from '@angular/common/locales/zh-Hans'; +registerLocaleData(localeZhHans); +// i18n +import { TranslateModule, TranslateLoader } from '@ngx-translate/core'; +import { TranslateHttpLoader } from '@ngx-translate/http-loader'; +import { ALAIN_I18N_TOKEN } from '@delon/theme'; +import { I18NService } from '@core/i18n/i18n.service'; +import { LoginService } from '@business/services/http/login.service'; +// AoT requires an exported function for factories +export function HttpLoaderFactory(http: HttpClient) { + return new TranslateHttpLoader(http, `assets/i18n/`, '.json'); +} + +export function StartupServiceFactory(startupService: StartupService): Function { + return () => startupService.load(); +} @NgModule({ - declarations: [ - AppComponent - ], - imports: [ - BrowserModule - ], - providers: [], - bootstrap: [AppComponent] + declarations: [ + AppComponent + ], + imports: [ + BrowserModule, + BrowserAnimationsModule, + HttpClientModule, + DelonModule, + CoreModule, + SharedModule, + LayoutModule, + RoutesModule, + // i18n + TranslateModule.forRoot({ + loader: { + provide: TranslateLoader, + useFactory: HttpLoaderFactory, + deps: [HttpClient] + } + }) + ], + providers: [ + // loginservice ������������token��������������� + LoginService, + { provide: LOCALE_ID, useValue: 'zh-Hans' }, + { provide: HTTP_INTERCEPTORS, useClass: SimpleInterceptor, multi: true}, + { provide: HTTP_INTERCEPTORS, useClass: DefaultInterceptor, multi: true}, + { provide: ALAIN_I18N_TOKEN, useClass: I18NService, multi: false }, + StartupService, + { + provide: APP_INITIALIZER, + useFactory: StartupServiceFactory, + deps: [StartupService], + multi: true + } + ], + bootstrap: [AppComponent] }) export class AppModule { } -- Gitblit v1.8.0