certd/packages/ui/certd-server/src/configuration.ts

65 lines
2.0 KiB
TypeScript
Raw Normal View History

2023-01-29 05:44:19 +00:00
import * as validateComp from '@midwayjs/validate';
import * as productionConfig from './config/config.production';
import * as previewConfig from './config/config.preview';
import * as defaultConfig from './config/config.default';
2023-05-26 08:18:24 +00:00
import { App, Configuration } from '@midwayjs/decorator';
2023-01-29 05:44:19 +00:00
import * as koa from '@midwayjs/koa';
2023-05-25 02:33:42 +00:00
import * as orm from '@midwayjs/typeorm';
import * as cache from '@midwayjs/cache';
import cors from '@koa/cors';
2023-01-29 05:44:19 +00:00
import { join } from 'path';
2023-05-25 02:33:42 +00:00
import * as flyway from 'midway-flyway-js';
import { ReportMiddleware } from './middleware/report';
import { GlobalExceptionMiddleware } from './middleware/global-exception';
import { PreviewMiddleware } from './middleware/preview';
import { AuthorityMiddleware } from './middleware/authority';
2023-05-25 04:38:29 +00:00
import * as staticFile from '@midwayjs/static-file';
import * as cron from './modules/plugin/cron';
2023-06-29 01:31:26 +00:00
import { logger } from './utils/logger';
import { ResetPasswdMiddleware } from './middleware/reset-passwd/middleware';
2023-01-29 05:44:19 +00:00
@Configuration({
2023-05-25 05:43:32 +00:00
imports: [koa, orm, cache, flyway, validateComp, cron, staticFile],
2023-01-29 05:44:19 +00:00
importConfigs: [
{
default: defaultConfig,
preview: previewConfig,
production: productionConfig,
},
],
})
export class ContainerConfiguration {}
@Configuration({
conflictCheck: true,
importConfigs: [join(__dirname, './config')],
})
export class ContainerLifeCycle {
@App()
app: koa.Application;
async onReady() {
//跨域
this.app.use(
cors({
origin: '*',
})
);
// bodyparser options see https://github.com/koajs/bodyparser
//this.app.use(bodyParser());
//请求日志打印
this.app.useMiddleware([
ReportMiddleware,
//统一异常处理
GlobalExceptionMiddleware,
//预览模式限制修改id<1000的数据
PreviewMiddleware,
//授权处理
AuthorityMiddleware,
//resetPasswd,重置密码模式下不提供服务
ResetPasswdMiddleware,
2023-01-29 05:44:19 +00:00
]);
2023-06-29 01:31:26 +00:00
logger.info('当前环境:', this.app.getEnv()); // prod
2023-01-29 05:44:19 +00:00
}
}