通用包
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
utils/sls/types.go

47 lines
2.1 KiB

package sls
import "time"
// Request HTTP请求
type Request struct {
Time time.Time `json:"time"` // 请求时间
RemoteAddr string `json:"remote_addr"` // 客户IP
QueryString string `json:"query_string"` // Query参数
RequestMethod string `json:"request_method"` // 请求方法
RequestUri string `json:"request_uri"` // 请求地址
Host string `json:"host"` // host地址
RequestBody string `json:"request_body"` // 请求body
HttpUserAgent string `json:"http_user_agent"` // 浏览器标识
HttpFinger string `json:"http_finger"` // 浏览器指纹
HttpReferrer string `json:"http_referrer"` // referer信息
HttpTraceId string `json:"http_trace_id"` // trance信息
XAppId string `json:"x_app_id"` // 用户中心的应用ID
XUserData *UserData `json:"x_user_data"` // 用户信息
XDsmData *DSMData `json:"x_dsm_data"` // 风控信息,不接人风控可不传入
XCustomData any `json:"x_custom_data"` // 自定义信息,需要能够转为json字符串
ResponseData any `json:"response_data"` // 返回信息
}
// UserData 用户数据
type UserData struct {
ID int32 `json:"id"` // 用户ID
Username string `json:"username"` // 用户名称
OrganizeID int32 `json:"organize_id"` // 组织ID
OrganizeName string `json:"organize_name"` // 组织名称
Phone string `json:"phone"` // 手机号
Email string `json:"email"` // 邮箱
}
type DBCount struct {
DB string `json:"db"` // 数据库标识
UniqueKey string `json:"unique_key"` // 该条记录唯一标识
}
// DSMData 风控需要数据
type DSMData struct {
AppKey string `json:"app_key"` // 项目在风控平台的appid
PageType string `json:"page_type"` // 访问类型
DataCount int32 `json:"data_count"` // 请求数量,list的时为列表数据量
DBData []*DBCount `json:"db_data"` // 数据库监控时,对应数据相关内容
DbKey string `json:"db_key"` // 访问数据库唯一标识
}