37 lines
1.5 KiB
Go
37 lines
1.5 KiB
Go
package projects
|
||
|
||
import (
|
||
"admin/apps/game/domain/projects/smdl"
|
||
"admin/internal/consts"
|
||
)
|
||
|
||
// 注册各个项目所有gm资源操作后的回调,例如后台添加了白名单,可以在回调里加上通知项目内的服务
|
||
var projectsResourceHookMgr = map[string]map[string]any{
|
||
// 神魔大陆项目注册的资源钩子回调
|
||
consts.RegisteredProjectId_shenmodalu: {
|
||
consts.ResourcesName_Server: &smdl.ServerHook{}, // 查看了数据库所有数据之后,还要连alisrv获取所有进程运行情况
|
||
consts.ResourcesName_Role: &smdl.RoleHook{}, // 所有角色走神魔大陆api直接获取
|
||
consts.ResourcesName_Account: &smdl.AccountHook{}, // 所有角色走神魔大陆api直接获取
|
||
consts.ResourcesName_Ban: &smdl.BanHook{}, // 所有角色走神魔大陆api直接获取
|
||
consts.ResourcesName_MailGlobal: &smdl.MailGlobalHook{}, // 所有角色走神魔大陆api直接获取
|
||
consts.ResourcesName_MailRole: &smdl.MailRoleHook{}, // 所有角色走神魔大陆api直接获取
|
||
},
|
||
}
|
||
|
||
// 注册各个项目所有增删改字段可选项的钩子
|
||
var projectsValueChoicesGetHook = map[string]IGetAllValueChoicesHook{
|
||
consts.RegisteredProjectId_shenmodalu: &smdl.Items{},
|
||
}
|
||
|
||
func GetProjectResourceHook(projectId, resource string) any {
|
||
project, find := projectsResourceHookMgr[projectId]
|
||
if !find {
|
||
return nil
|
||
}
|
||
return project[resource]
|
||
}
|
||
|
||
func GetProjectValueChoicesGetHook(projectId string) IGetAllValueChoicesHook {
|
||
return projectsValueChoicesGetHook[projectId]
|
||
}
|