34 lines
1.3 KiB
Go
34 lines
1.3 KiB
Go
package analytics
|
|
|
|
import "time"
|
|
|
|
// TrackEventRequest 埋点事件请求
|
|
type TrackEventRequest struct {
|
|
UserID int64 `json:"user_id" binding:"required"`
|
|
EventName string `json:"event_name" binding:"required"`
|
|
Properties map[string]interface{} `json:"properties"`
|
|
DeviceInfo map[string]interface{} `json:"device_info"`
|
|
MetaData map[string]interface{} `json:"meta_data"`
|
|
}
|
|
|
|
// BatchTrackEventRequest 批量埋点事件请求
|
|
type BatchTrackEventRequest struct {
|
|
Events []TrackEventRequest `json:"events" binding:"required,min=1,max=100"`
|
|
}
|
|
|
|
// QueryEventsRequest 查询事件请求
|
|
type QueryEventsRequest struct {
|
|
UserID *int64 `json:"user_id" form:"user_id"`
|
|
EventName string `json:"event_name" form:"event_name"`
|
|
StartTime *time.Time `json:"start_time" form:"start_time"`
|
|
EndTime *time.Time `json:"end_time" form:"end_time"`
|
|
Page int `json:"page" form:"page" binding:"required,min=1"`
|
|
PageSize int `json:"page_size" form:"page_size" binding:"required,min=1,max=100"`
|
|
}
|
|
|
|
// EventStatsRequest 事件统计请求
|
|
type EventStatsRequest struct {
|
|
StartTime time.Time `json:"start_time" form:"start_time" binding:"required"`
|
|
EndTime time.Time `json:"end_time" form:"end_time" binding:"required"`
|
|
}
|