跳到主要内容

私域接口

网关 Gateway 内置的私域接口说明,包含支持的所有事件类型及对应的调用逻辑,每个事件类型对应一个内部 API 接口,调用方法参考事件规范部分文档的【内部事件调用接口】

注意:

  • 私域接口仅通过自定义的 RPC 调用使用,不对外暴露。
  • 默认分割符号为 constant.SPLIT_CHAR。
  • TemporaryData 返回的是临时数据,会在请求结束后被回收释放,全局对象,要注意生命周期的管理。

1. 注册事件

属性参数
事件类型W_T_G_REGISTER
描述处理服务注册请求,用于内部服务向网关注册自身信息
请求参数Worker 对象,event-matrix/worker/types/worker.go
返回gnetx.ResponseMessage,通过 Status 字段判断是否注册成功

2. 获取实体属性

属性参数
事件类型W_T_G_GET_ENTITY_ATTRS
上层封装方法DomainCahce.EntityAttrs(e types.PathToEntity) []core.EntityAttribute
描述根据请求获取指定实体的属性信息
请求参数string PathToEntity.ToStrArg() 获取的字符串参数
返回gnetx.ResponseMessage,返回的 TemporaryData 是 []core.EntityAttribute 的 JSON 序列化数据

3. 获取实体事件

属性参数
事件类型W_T_G_GET_ENTITY_EVENTS
上层封装方法DomainCahce.EntityEvents(e types.PathToEntity) []core.EntityEvent
描述获取与指定实体关联的事件列表
请求参数string PathToEntity.ToStrArg() 获取的字符串参数
返回gnetx.ResponseMessage,返回的 TemporaryData 是 []core.EntityEvent 的 JSON 序列化数据

4. 验证事件

属性参数
事件类型W_T_G_VERIFY_EVENT
描述验证指定事件的合法性和有效性(包含过期检查)
请求参数core.Event 对象,event-matrix/core/event.go
返回gnetx.ResponseMessage,通过 Status 字段判断是否校验成功,返回的 TemporaryData 是用户 ID 或失败码

5. 验证事件(忽略过期)

属性参数
事件类型W_T_G_VERIFY_EVENT_WITHOUT_EXPIRED
描述验证事件但忽略过期检查
请求参数core.Event 对象,event-matrix/core/event.go
返回gnetx.ResponseMessage,通过 Status 字段判断是否校验成功,返回的 TemporaryData 是用户 ID 或失败码

6. 搜索用户信息

属性参数
事件类型W_T_G_SEARCH_USER_INFO
上层封装方法dispatcher.GetUserIdsBySearch(param types.SearchByFieldParam) []string
描述根据条件搜索用户基础信息
请求参数SearchByFieldParam 参数请求对象
返回gnetx.ResponseMessage,通过 Status 字段判断是否校验成功,返回的 TemporaryData 是用默认分割符链接的用户 ID
type SearchByFieldParam struct {
Field string `json:"field"` // 查询字段
Keyword string `json:"keyword"` // 查询关键字
Page int `json:"page"` // 页码
Size int `json:"size"` // 每页大小
}

7. 根据用户码获取用户 ID

属性参数
事件类型W_T_G_GET_USER_ID_BY_UCODE
上层封装方法dispatcher.GetUserIdByCode(code string) string
描述通过用户唯一编码查询对应的用户 ID
请求参数string 用户的 UniqueCode
返回gnetx.ResponseMessage,通过 Status 字段判断是否校验成功,返回的 TemporaryData 是对应的用户 ID

8. 获取实体

属性参数
事件类型W_T_G_GET_ENTITY
上层封装方法DomainCahce.Entity(e types.PathToEntity) *core.Entity
描述获取完整的实体信息
请求参数string PathToEntity.ToStrArg() 获取的字符串参数
返回gnetx.ResponseMessage,返回的 TemporaryData 是 core.Entity 的 JSON 序列化数据

9. 根据事件获取端点

属性参数
事件类型W_T_G_GET_ENDPOINT_BY_EVENT
上层封装方法dispatcher.GetWorkerEndpoint(event *core.Event) string
描述通过事件类型查询对应的服务端点地址
请求参数core.Event 对象,event-matrix/core/event.go
返回gnetx.ResponseMessage,通过 Status 字段判断是否校验成功,返回的 TemporaryData 是服务私域地址

10. 获取共享配置

属性参数
事件类型W_T_G_GET_SHARED_CONFIGURE
上层封装方法dispatcher.LoadSharedCfgFromGateway(keys []string) map[string]*core.SharedConfigure
描述获取系统共享配置信息
请求参数string 由默认分割符链接起来的配置 ID,ID 跟管理后台配置一致
返回gnetx.ResponseMessage,通过 Status 字段判断是否校验成功,返回的 TemporaryData 是[]core.SharedConfigure

11. 报告配置使用情况

属性参数
事件类型W_T_G_REPORT_CONF_USED_BY
上层封装方法dispatcher.ReportConfigUsedBy(key, workerId string)
描述上报配置项的使用情况统计
请求参数string 配置 ID + constant.SPLIT_CHAR + workerId 组成的字符串
返回gnetx.ResponseMessage,通过 Status 字段判断是否上报成功

12. 获取常量

属性参数
事件类型W_T_G_GET_CONSTANTS
上层封装方法DomainCahce.Constants(project, dict string) []core.ConstantDict
描述获取系统预定义的常量数据
请求参数string 由 project + constant.SPLIT_CHAR + dict 组成的字符串
返回gnetx.ResponseMessage,返回的 TemporaryData 是常量数据数组[]core.ConstantDict

13. 报告端点

属性参数
事件类型GW_T_G_REPORT_ENDPOINT
上层封装方法dispatcher.ReportEndpoint(endpoint *core.Endpoint) error
描述接收服务端点的状态报告
请求参数core.Endpoint Endpoint 对象,一个 Gateway 或 Worker 进程算一个 Endpoint
返回gnetx.ResponseMessage,通过 Status 字段判断是否上报成功

14. 获取用户敏感信息

属性参数
事件类型W_T_G_GET_USER_SENSITIVE_INFO
上层封装方法dispatcher.GetUserSensitiveInfo(token string, infoHash []string) (map[string]string, error)
描述获取用户的敏感信息(需特殊权限)
请求参数string token + constant.SPLIT_CHAR + infos 组成的字符串,infos 由默认分割符链接的敏感信息名称
返回gnetx.ResponseMessage,通过 Status 字段判断是否获取成功,TemporaryData 是 map[string]string 的 JSON 序列化数据

15. 保存用户敏感信息

属性参数
事件类型W_T_G_SAVE_USER_SENSITIVE_INFO
上层封装方法dispatcher.SaveUserSensitiveInfo(tk string, infos map[string]string) (map[string]string, error)
描述保存用户的敏感信息
请求参数map[string]string 包含 token 信息的敏感信息对照表
返回gnetx.ResponseMessage,通过 Status 字段判断是否获取成功,TemporaryData 是 map[string]string 值加密过的键值对照表的 JSON 序列化数据

16. 获取用户详细信息

属性参数
事件类型W_T_G_GET_USER_DETAIL
上层封装方法dispatcher.GetUserDetailInfo(token string) (*core.User, error)
描述获取用户的详细信息
请求参数string 用户 token
返回gnetx.ResponseMessage,通过 Status 字段判断是否获取成功,TemporaryData 是 core.User 的 JSON 序列化数据