|
@@ -28,36 +28,38 @@ export class OperaService {
|
|
|
* @param new_data 新数据
|
|
|
*/
|
|
|
async toMakeLogs(origin_data?: object, new_data?: object) {
|
|
|
- const req = this.ctx.request;
|
|
|
const user = this.ctx.user;
|
|
|
- const logInfo: any = {
|
|
|
- // 操作人
|
|
|
- operator_id: user.id,
|
|
|
- operator_name: get(user, 'nick_name', get(user, 'name')),
|
|
|
- // ip
|
|
|
- ip: get(req, 'header.x-forwarded-for', req.ip),
|
|
|
- // 设备
|
|
|
- device: get(req, 'header.user-agent'),
|
|
|
- // 操作时间
|
|
|
- time: dayjs().format('YYYY-MM-DD HH:mm:ss'),
|
|
|
- // 操作地址
|
|
|
- referer: get(req, 'header.referer'),
|
|
|
- // 请求地址uri
|
|
|
- path: get(req, 'path'),
|
|
|
- // 地址参数
|
|
|
- params: get(req, 'params'),
|
|
|
- // 请求参数
|
|
|
- query: get(req, 'query'),
|
|
|
- // 方法体参数
|
|
|
- body: get(req, 'body'),
|
|
|
- // 操作业务:可以通过路由注解的routerName来获取
|
|
|
- opera: null,
|
|
|
- // 变动值: 表:[数据] 需要自己组织
|
|
|
- origin_data: origin_data,
|
|
|
- new_data: new_data,
|
|
|
- };
|
|
|
- const routeInfo = await this.webRouterService.getMatchedRouterInfo(this.ctx.path, this.ctx.method);
|
|
|
- if (routeInfo) logInfo.opera = get(routeInfo, 'routerName');
|
|
|
- await this.model.insert(logInfo);
|
|
|
+ if (user && user.id) {
|
|
|
+ const req = this.ctx.request;
|
|
|
+ const logInfo: any = {
|
|
|
+ // 操作人
|
|
|
+ operator_id: user.id,
|
|
|
+ operator_name: get(user, 'nick_name', get(user, 'name')),
|
|
|
+ // ip
|
|
|
+ ip: get(req, 'header.x-forwarded-for', req.ip),
|
|
|
+ // 设备
|
|
|
+ device: get(req, 'header.user-agent'),
|
|
|
+ // 操作时间
|
|
|
+ time: dayjs().format('YYYY-MM-DD HH:mm:ss'),
|
|
|
+ // 操作地址
|
|
|
+ referer: get(req, 'header.referer'),
|
|
|
+ // 请求地址uri
|
|
|
+ path: get(req, 'path'),
|
|
|
+ // 地址参数
|
|
|
+ params: get(req, 'params'),
|
|
|
+ // 请求参数
|
|
|
+ query: get(req, 'query'),
|
|
|
+ // 方法体参数
|
|
|
+ body: get(req, 'body'),
|
|
|
+ // 操作业务:可以通过路由注解的routerName来获取
|
|
|
+ opera: null,
|
|
|
+ // 变动值: 表:[数据] 需要自己组织
|
|
|
+ origin_data: origin_data,
|
|
|
+ new_data: new_data,
|
|
|
+ };
|
|
|
+ const routeInfo = await this.webRouterService.getMatchedRouterInfo(this.ctx.path, this.ctx.method);
|
|
|
+ if (routeInfo) logInfo.opera = get(routeInfo, 'routerName');
|
|
|
+ await this.model.insert(logInfo);
|
|
|
+ }
|
|
|
}
|
|
|
}
|