|
|
|
import { APP_INITIALIZER, ApplicationConfig, importProvidersFrom } from '@angular/core'
|
|
|
|
import { provideRouter } from '@angular/router'
|
|
|
|
|
|
|
|
import { registerLocaleData } from '@angular/common'
|
|
|
|
import zh from '@angular/common/locales/zh'
|
|
|
|
import { FormsModule } from '@angular/forms'
|
|
|
|
import { HTTP_INTERCEPTORS, HttpClientModule } from '@angular/common/http'
|
|
|
|
import { provideAnimations } from '@angular/platform-browser/animations'
|
|
|
|
import { zh_CN, provideNzI18n } from 'ng-zorro-antd/i18n'
|
|
|
|
import { routes } from './app.routes'
|
|
|
|
import { LocalHttpInterceptorService } from './services'
|
|
|
|
import { PermissionModule } from './shared/permission/permission.module'
|
|
|
|
import { TINYMCE_SCRIPT_SRC } from '@tinymce/tinymce-angular'
|
|
|
|
import { ServerPaginatedTableService } from './shared/components/server-paginated-table'
|
|
|
|
|
|
|
|
registerLocaleData(zh)
|
|
|
|
|
|
|
|
export function initializeApp(configService: ServerPaginatedTableService) {
|
|
|
|
return () => {
|
|
|
|
configService.initial()
|
|
|
|
configService.setConfig({
|
|
|
|
formatPaginationData(v) {
|
|
|
|
return {
|
|
|
|
pageNum: v.pageIndex,
|
|
|
|
pageSize: v.pageSize,
|
|
|
|
}
|
|
|
|
},
|
|
|
|
formatServiceData(v) {
|
|
|
|
// console.log('【formatServiceData】', v)
|
|
|
|
return {
|
|
|
|
total: v.body.total,
|
|
|
|
// totalPages: Math.ceil(v.body.rows / 5),
|
|
|
|
totalPages: 0,
|
|
|
|
data: v.body.rows ?? v.body.records,
|
|
|
|
}
|
|
|
|
},
|
|
|
|
})
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
export const appConfig: ApplicationConfig = {
|
|
|
|
providers: [
|
|
|
|
provideRouter(routes),
|
|
|
|
provideNzI18n(zh_CN),
|
|
|
|
importProvidersFrom(FormsModule),
|
|
|
|
importProvidersFrom(HttpClientModule),
|
|
|
|
importProvidersFrom(PermissionModule.forRoot()),
|
|
|
|
provideAnimations(),
|
|
|
|
{
|
|
|
|
provide: HTTP_INTERCEPTORS,
|
|
|
|
useClass: LocalHttpInterceptorService,
|
|
|
|
multi: true,
|
|
|
|
},
|
|
|
|
{
|
|
|
|
provide: APP_INITIALIZER,
|
|
|
|
useFactory: initializeApp,
|
|
|
|
deps: [ServerPaginatedTableService],
|
|
|
|
multi: true,
|
|
|
|
},
|
|
|
|
{ provide: TINYMCE_SCRIPT_SRC, useValue: 'tinymce/tinymce.min.js' },
|
|
|
|
],
|
|
|
|
}
|