私域接口
网关 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 序列化数据 |