import { registerLocaleData } from '@angular/common'; import { ErrorHandler, NgModule, Optional, SkipSelf, Injector } from '@angular/core'; import { HTTP_INTERCEPTORS, HttpClientModule } from '@angular/common/http'; import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; import { NZ_I18N, zh_CN } from 'ng-zorro-antd'; import zh from '@angular/common/locales/zh'; import { AppErrorHandler, CustomHttpInterceptor, MessageService, PzUnitModule, throwIfAlreadyLoaded } from 'pz-unit'; import { MyLayoutModule } from 'app/my-layout/my-layout.module'; import { MessageComponent } from './message.component'; import { ServerConfigComponent } from './server-config.component'; import { SharedModule } from 'app/shared/shared.module'; import { AuthGuard } from './auth.guard'; import { progress } from './custom.function'; const interceptorFactory = () => { return new CustomHttpInterceptor('login,manage/user/mobile/'); }; const errorFactory = (msg, inj) => { return new AppErrorHandler(inj, msg, progress); }; registerLocaleData(zh); @NgModule({ imports: [ HttpClientModule, BrowserAnimationsModule, MyLayoutModule, SharedModule, PzUnitModule, ], exports: [ MessageComponent, ServerConfigComponent, MyLayoutModule, PzUnitModule ], declarations: [ MessageComponent, ServerConfigComponent, ], providers: [ MessageService, AuthGuard, {provide: ErrorHandler, useFactory: errorFactory, deps: [MessageService, Injector]}, {provide: HTTP_INTERCEPTORS, useFactory: interceptorFactory, multi: true}, {provide: NZ_I18N, useValue: zh_CN} ] }) export class CoreModule { public constructor(@Optional() @SkipSelf() parentModule: CoreModule) { throwIfAlreadyLoaded(parentModule, 'CoreModule'); } }