diff --git a/src/modules/base/middleware/log.ts b/src/modules/base/middleware/log.ts new file mode 100644 index 0000000..4c92ec6 --- /dev/null +++ b/src/modules/base/middleware/log.ts @@ -0,0 +1,26 @@ +import { Middleware } from '@midwayjs/core'; +import * as _ from 'lodash'; +import { NextFunction, Context } from '@midwayjs/koa'; +import { IMiddleware } from '@midwayjs/core'; +import { BaseSysLogService } from '../service/sys/log'; + +/** + * 日志中间件 + */ +@Middleware() +export class BaseLogMiddleware implements IMiddleware { + resolve() { + return async (ctx: Context, next: NextFunction) => { + const baseSysLogService = await ctx.requestContext.getAsync( + BaseSysLogService + ); + baseSysLogService.record( + ctx, + ctx.url, + ctx.req.method === 'GET' ? ctx.request.query : ctx.request.body, + ctx.admin ? ctx.admin.userId : null + ); + await next(); + }; + } +}