app.module.ts 3.23 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 './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 {HttpClient, HttpClientModule} from '@angular/common/http';
import {CommonModule} from "@angular/common";
import {CacheService} from "./shared/services/cache.service";
import {MoyaRestModule} from "./moya-rest";
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';

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(),
    MoyaRestModule,
    RouterModule.forRoot(appRoutes),
    TranslateModule.forRoot({
      loader: {
        provide: TranslateLoader,
        useFactory: function (http: HttpClient) {
          return new TranslateHttpLoader(http, "assets/i18n/", ".json");
        },
        deps: [HttpClient]
      }
    })
  ],
  providers: [CacheService, MoyaLocaleService],
  bootstrap: [AppComponent]
})
export class AppModule {
}