代码拉取完成,页面将自动刷新
package frame
import (
"sync"
)
type hookDomain struct {
sync.Mutex
server *Server
eventsMap map[string][]EventInterface
}
// 初始化事件驾照
func (this *hookDomain) init(module ModuleInterface) {
if this.eventsMap == nil {
this.eventsMap = make(map[string][]EventInterface)
}
events := module.Events()
for _, event := range events {
key := event.HookCode()
m, ok := this.eventsMap[key]
if !ok {
this.eventsMap[key] = make([]EventInterface, 0)
m = make([]EventInterface, 0)
}
this.eventsMap[key] = append(m, event)
}
}
// 触发钩子
func (this *hookDomain) trigger(tl *Taskline, h HookInterface, args ...any) {
this.Lock()
defer this.Unlock()
events, ok := this.eventsMap[h.HookCode()]
if !ok {
return
}
for _, event := range events {
event.Handler(tl, args...)
}
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。