1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- import { Configuration, App, Inject, MidwayDecoratorService, IMidwayContainer, IMidwayApplication } from '@midwayjs/core';
- import * as koa from '@midwayjs/koa';
- import * as validate from '@midwayjs/validate';
- import * as info from '@midwayjs/info';
- import { join } from 'path';
- import * as FreeFrame from 'free-midway-component';
- import * as jwt from '@midwayjs/jwt';
- import * as ws from '@midwayjs/ws';
- import * as swagger from '@midwayjs/swagger';
- import * as redis from '@midwayjs/redis';
- import { newsQueryMiddleware } from './middleware/newsQuery.middleware';
- import * as i18n from '@midwayjs/i18n';
- import { SetLocaleToCtxMiddleware } from './middleware/setLocaleToCtx.middleware';
- import * as bull from '@midwayjs/bull';
- import { ElasticsearchService } from './service/elasticsearch';
- import { DataRecordMiddleware } from './middleware/dataRecord.middleware';
- import { DBService } from './service/db.service';
- import { ReportMiddleware } from './middleware/report.middleware';
- @Configuration({
- imports: [
- koa,
- validate,
- FreeFrame,
- jwt,
- ws,
- redis,
- i18n,
- bull,
- {
- component: info,
- enabledEnvironment: ['local'],
- },
- {
- component: swagger,
- enabledEnvironment: ['local'],
- },
- ],
- importConfigs: [join(__dirname, './config')],
- })
- export class MainConfiguration {
- @App('koa')
- app: koa.Application;
- @Inject()
- decoratorService: MidwayDecoratorService;
- async onReady() {
- this.app.getMiddleware().insertFirst(SetLocaleToCtxMiddleware)
- this.app.getMiddleware().insertAfter(DataRecordMiddleware, 'SetLocaleToCtxMiddleware');
- this.app.getMiddleware().insertAfter(newsQueryMiddleware, 'newsQuery');
- this.app.getMiddleware().insertFirst(ReportMiddleware)
- }
- // 应用服务已启动后执行
- async onServerReady?(container: IMidwayContainer, app: IMidwayApplication) {
- // 初始化es
- const esService = await container.getAsync(ElasticsearchService);
- // await esService.preparMapping();
- // await container.getAsync(DBService);
- }
- }
|