添加埋点名称
This commit is contained in:
parent
650b8d69b7
commit
6947524586
|
@ -6,8 +6,9 @@ import (
|
|||
)
|
||||
|
||||
// NewDataBuried 创建一个数据埋点
|
||||
func NewDataBuried[DataID comparable, Data any](hitLogic HitLogic[Data], options ...DataBuriedOption[DataID, Data]) *DataBuried[DataID, Data] {
|
||||
func NewDataBuried[DataID comparable, Data any](name string, hitLogic HitLogic[Data], options ...DataBuriedOption[DataID, Data]) *DataBuried[DataID, Data] {
|
||||
buried := &DataBuried[DataID, Data]{
|
||||
name: name,
|
||||
data: asynchronization.NewMap[DataID, Data](),
|
||||
hitLogic: hitLogic,
|
||||
}
|
||||
|
@ -26,12 +27,18 @@ func NewDataBuried[DataID comparable, Data any](hitLogic HitLogic[Data], options
|
|||
// DataBuried 数据埋点
|
||||
// - 数据埋点通常用于统计不同类型的数据,例如用户数据、商城数据等
|
||||
type DataBuried[DataID comparable, Data any] struct {
|
||||
name string
|
||||
data hash.Map[DataID, Data]
|
||||
hitLogic HitLogic[Data]
|
||||
getData func(DataID) Data
|
||||
setData func(id DataID, data Data)
|
||||
}
|
||||
|
||||
// GetName 获取名称
|
||||
func (slf *DataBuried[DataID, Data]) GetName() string {
|
||||
return slf.name
|
||||
}
|
||||
|
||||
// Hit 命中数据埋点
|
||||
func (slf *DataBuried[DataID, Data]) Hit(id DataID, data Data) {
|
||||
slf.setData(id, slf.hitLogic(slf.getData(id), data))
|
||||
|
|
|
@ -1,8 +1,9 @@
|
|||
package report
|
||||
|
||||
// NewGlobalBuried 创建一个全局埋点
|
||||
func NewGlobalBuried[Data any](hitLogic HitLogic[Data], options ...GlobalBuriedOption[Data]) *GlobalBuried[Data] {
|
||||
func NewGlobalBuried[Data any](name string, hitLogic HitLogic[Data], options ...GlobalBuriedOption[Data]) *GlobalBuried[Data] {
|
||||
buried := &GlobalBuried[Data]{
|
||||
name: name,
|
||||
hitLogic: hitLogic,
|
||||
}
|
||||
buried.setData = func(data Data) {
|
||||
|
@ -20,12 +21,18 @@ func NewGlobalBuried[Data any](hitLogic HitLogic[Data], options ...GlobalBuriedO
|
|||
// GlobalBuried 全局埋点
|
||||
// - 全局埋点适用于活跃用户数等统计
|
||||
type GlobalBuried[Data any] struct {
|
||||
name string
|
||||
data Data
|
||||
hitLogic HitLogic[Data]
|
||||
getData func() Data
|
||||
setData func(data Data)
|
||||
}
|
||||
|
||||
// GetName 获取名称
|
||||
func (slf *GlobalBuried[Data]) GetName() string {
|
||||
return slf.name
|
||||
}
|
||||
|
||||
// Hit 命中数据埋点
|
||||
func (slf *GlobalBuried[Data]) Hit(data Data) {
|
||||
slf.setData(slf.hitLogic(slf.getData(), data))
|
||||
|
|
Loading…
Reference in New Issue