master
2022-04-07 58389be5d3c1bbf4e47976f7ea09977be8bb84c5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
import { Inject, Provide } from '@midwayjs/decorator';
import { IWebMiddleware, IMidwayWebNext } from '@midwayjs/web';
import { BaseSysLogService } from '../service/sys/log';
import { Context } from 'egg';
 
/**
 * 日志中间件
 */
@Provide()
export class BaseLogMiddleware implements IWebMiddleware {
  @Inject()
  baseSysLogService: BaseSysLogService;
 
  resolve() {
    return async (ctx: Context, next: IMidwayWebNext) => {
      this.baseSysLogService.record(
        ctx,
        ctx.url.split('?')[0],
        ctx.req.method === 'GET' ? ctx.request.query : ctx.request.body,
        ctx.admin ? ctx.admin.userId : null
      );
      await next();
    };
  }
}