feat: 优化after hook的逻辑

This commit is contained in:
2026-01-04 22:54:04 +08:00
parent e0ba683411
commit 19056208c8
2 changed files with 4 additions and 3 deletions

View File

@@ -43,7 +43,7 @@ func (s *server) hook(ctx *gin.Context, uriCfg define.UriConfig) {
s.hookAfter(ctx, uriCfg, hookInstance, success)
} else {
// 异步执行
go s.hookAfter(ctx, uriCfg, hookInstance, success)
go s.hookAfter(util.Copy(ctx), uriCfg, hookInstance, success)
}
}
@@ -60,13 +60,14 @@ func (s *server) hookAfter(ctx *gin.Context, uriCfg define.UriConfig, hookInstan
}
}()
if success {
logger.Instance.Debug("接口Logic执行成功, 执行Hook逻辑")
logger.Instance.Debug("接口Logic执行成功, 执行Hook逻辑", pkgLogger.NewLogData(innerContext, logger.RecordType, logger.CodeLogicHook, map[string]any{}).ToFieldList()...)
for _, itemFunc := range hookInstance.SuccessHookFuncList {
if nil != itemFunc {
itemFunc(ctx)
}
}
} else {
logger.Instance.Debug("接口Logic执行失败, 执行Hook逻辑", pkgLogger.NewLogData(innerContext, logger.RecordType, logger.CodeLogicHook, map[string]any{}).ToFieldList()...)
for _, itemFunc := range hookInstance.FailureHookFuncList {
if nil != itemFunc {
itemFunc(ctx)