2025-04-24 20:39:31 +08:00
|
|
|
|
package projects
|
|
|
|
|
|
|
|
|
|
import (
|
2025-04-30 15:46:14 +08:00
|
|
|
|
"admin/apps/game/domain/entity"
|
2025-04-24 20:39:31 +08:00
|
|
|
|
"admin/apps/game/domain/projects/smdl"
|
|
|
|
|
"admin/internal/consts"
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
// 注册各个项目所有gm资源操作后的回调,例如后台添加了白名单,可以在回调里加上通知项目内的服务
|
|
|
|
|
var projectsResourceHookMgr = map[string]map[string]any{
|
2025-04-26 13:50:26 +08:00
|
|
|
|
// 神魔大陆项目注册的资源钩子回调
|
|
|
|
|
consts.RegisteredProjectId_shenmodalu: {
|
2025-04-28 15:56:04 +08:00
|
|
|
|
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直接获取
|
2025-05-07 15:03:19 +08:00
|
|
|
|
consts.ResourcesName_WhiteList: &smdl.WhitelistHook{}, // 所有角色走神魔大陆api直接获取
|
2025-04-24 20:39:31 +08:00
|
|
|
|
},
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 注册各个项目所有增删改字段可选项的钩子
|
|
|
|
|
var projectsValueChoicesGetHook = map[string]IGetAllValueChoicesHook{
|
|
|
|
|
consts.RegisteredProjectId_shenmodalu: &smdl.Items{},
|
|
|
|
|
}
|
|
|
|
|
|
2025-04-30 15:46:14 +08:00
|
|
|
|
func GetProjectResourceHook(project *entity.Project, resource string) any {
|
2025-05-04 22:07:13 +08:00
|
|
|
|
return nil
|
2025-04-30 15:46:14 +08:00
|
|
|
|
projectResourceHooks, find := projectsResourceHookMgr[project.Po.ProjectType]
|
2025-04-24 20:39:31 +08:00
|
|
|
|
if !find {
|
|
|
|
|
return nil
|
|
|
|
|
}
|
2025-04-30 15:46:14 +08:00
|
|
|
|
return projectResourceHooks[resource]
|
2025-04-24 20:39:31 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func GetProjectValueChoicesGetHook(projectId string) IGetAllValueChoicesHook {
|
|
|
|
|
return projectsValueChoicesGetHook[projectId]
|
|
|
|
|
}
|