70 lines
1.8 KiB
Go
70 lines
1.8 KiB
Go
// Package abstract ...
|
|
//
|
|
// Description : 事件发送前预处理接口约束
|
|
//
|
|
// Author : go_developer@163.com<白茶清欢>
|
|
//
|
|
// Date : 2023-02-01 14:06
|
|
package abstract
|
|
|
|
import (
|
|
"net/http"
|
|
)
|
|
|
|
// IPreSendHandler ...
|
|
//
|
|
// Author : go_developer@163.com<白茶清欢>
|
|
//
|
|
// Date : 14:06 2023/2/1
|
|
type IPreSendHandler interface {
|
|
// GetEventID 为每一条事件生成唯一的ID, 此方法若返回空值, 则会自动生成一个随机的md5字符串作为事件ID
|
|
//
|
|
// Author : go_developer@163.com<白茶清欢>
|
|
//
|
|
// Date : 14:10 2023/2/1
|
|
GetEventID() string
|
|
|
|
// GetRequestParam 构造 base info 时, 可能需要从请求参数中提取公共数据
|
|
//
|
|
// Author : go_developer@163.com<白茶清欢>
|
|
//
|
|
// Date : 14:13 2023/2/1
|
|
GetRequestParam() map[string]interface{}
|
|
|
|
// GetRequestHeader ...
|
|
//
|
|
// Author : go_developer@163.com<白茶清欢>
|
|
//
|
|
// Date : 14:14 2023/2/1
|
|
// 构造 base info 时, 可能需要从请求参数中提取公共数据
|
|
GetRequestHeader() http.Header
|
|
|
|
// GetResponseData 响应数据
|
|
//
|
|
// Author : go_developer@163.com<白茶清欢>
|
|
//
|
|
// Date : 14:15 2023/2/1
|
|
GetResponseData() map[string]interface{}
|
|
|
|
// GetExtensionData 获取扩展数据
|
|
//
|
|
// Author : go_developer@163.com<白茶清欢>
|
|
//
|
|
// Date : 14:19 2023/2/1
|
|
GetExtensionData() map[string]interface{}
|
|
|
|
// GetEventData 获取事件数据, 建议返回结构体或者结构体指针, 内部会自动补齐缺失的数据
|
|
//
|
|
// Author : go_developer@163.com<白茶清欢>
|
|
//
|
|
// Date : 14:16 2023/2/1
|
|
GetEventData() interface{}
|
|
|
|
// NeedSend 判断是否需要发送事件, 若不需要发送, 可在第一个返回值中记录不需要发送的原因
|
|
//
|
|
// Author : go_developer@163.com<白茶清欢>
|
|
//
|
|
// Date : 15:24 2023/2/2
|
|
NeedSend() (map[string]interface{}, bool)
|
|
}
|