app.module.ts 3.49 KB
import {BrowserModule} from '@angular/platform-browser';
import {NgModule} from '@angular/core';
import {FormsModule} from '@angular/forms';

import {AppComponent} from './app.component';
import {ViplistComponent} from './pages/info/viplist/viplist.component';
import {AlertModule} from 'ngx-bootstrap';


import {RouterModule, Routes} from '@angular/router';
import {OldMoyaComponent} from './pages/old-moya/old-moya.component';
import {TestComponent} from './test/test.component';
import {AdminMenuComponent} from './menu/admin-menu/admin-menu.component';
import {TopMenuComponent} from './menu/top-menu/top-menu.component';
import {LeftMenuComponent} from './menu/left-menu/left-menu.component';
import {InfoMenuComponent} from './menu/info-menu/info-menu.component';
import {UserMenuComponent} from './menu/user-menu/user-menu.component';
import {UserComponent} from './pages/user/user.component';
import {InfoComponent} from './pages/info/info.component';
import {AdminComponent} from './pages/admin/admin.component';
import {HTTP_INTERCEPTORS, HttpClient, HttpClientModule} from '@angular/common/http';
import {CommonModule} from '@angular/common';
import {CacheService} from './shared/services/cache.service';
import {SafePipe} from './shared/pipes/safe.pipe';
import {TranslateLoader, TranslateModule} from '@ngx-translate/core';
import {TranslateHttpLoader} from '@ngx-translate/http-loader';
import {MoyaLocaleService} from './components/moya-locale/moya-locale.service';
import { MoyaLocaleComponent } from './components/moya-locale/moya-locale.component';
import {ErrorInterceptor} from './shared/interceptors/error.interceptor';
import {ViplistService} from './pages/info/viplist/viplist.service';
import {UserService} from './shared/services/user.service';

const appRoutes: Routes = [
  {
    path: 'user',
    children: [
      {path: '', component: UserMenuComponent, outlet: 'left-menu'},
      {path: '', pathMatch: 'full', component: UserComponent},
      {path: 'old', component: OldMoyaComponent},
    ]
  },
  {
    path: 'info',
    children: [
      {path: '', component: InfoMenuComponent, outlet: 'left-menu'},
      {path: '', pathMatch: 'full', component: OldMoyaComponent},
      {path: 'old', component: OldMoyaComponent},
      {path: 'viplist', component: ViplistComponent},
    ]
  },
  {
    path: 'admin',
    children: [
      {path: '', component: AdminMenuComponent, outlet: 'left-menu'},
      {path: '', pathMatch: 'full', component: AdminComponent},
      {path: 'old', component: OldMoyaComponent},
    ]
  },

  {path: 'old', pathMatch: 'prefix', component: OldMoyaComponent},
];


@NgModule({
  declarations: [
    AppComponent,
    ViplistComponent,
    OldMoyaComponent,
    TestComponent,
    TopMenuComponent,
    LeftMenuComponent,
    AdminMenuComponent,
    InfoMenuComponent,
    UserMenuComponent,
    UserComponent,
    InfoComponent,
    AdminComponent,
    SafePipe,
    MoyaLocaleComponent

  ],
  imports: [
    CommonModule,
    BrowserModule,
    FormsModule,
    HttpClientModule,
    AlertModule.forRoot(),
    RouterModule.forRoot(appRoutes),
    TranslateModule.forRoot({
      loader: {
        provide: TranslateLoader,
        useFactory: function (http: HttpClient) {
          return new TranslateHttpLoader(http, 'assets/i18n/', '.json');
        },
        deps: [HttpClient]
      }
    })
  ],
  providers: [
    CacheService,
    MoyaLocaleService,
    { provide: HTTP_INTERCEPTORS, useClass: ErrorInterceptor, multi: true },
    UserService],
  bootstrap: [AppComponent]
})
export class AppModule {
}