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"` }