From 40bd9bb25487272b8b6f3e582d1e1c1362a39d18 Mon Sep 17 00:00:00 2001 From: yaodeshun Date: Fri, 12 Sep 2025 18:47:14 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B8=B8=E6=88=8F=E6=97=A5=E5=BF=97=E6=96=B9?= =?UTF-8?q?=E6=B3=95=E5=B0=81=E8=A3=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package/gamelog/sdk.go | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/package/gamelog/sdk.go b/package/gamelog/sdk.go index 83ca529..2d12ccf 100644 --- a/package/gamelog/sdk.go +++ b/package/gamelog/sdk.go @@ -273,6 +273,9 @@ func (sdk *SDK) Log(uid, event string, property map[string]any, timezone string) if _loc := getLocationMapValue(timezone); _loc != nil { loc = _loc } + if len(property) == 0 { + property = map[string]any{"ts": gtime.Now().Timestamp()} + } log := GameLog{ Uid: uid, Event: event, @@ -289,6 +292,38 @@ func (sdk *SDK) LogLtz(uid, event string, property map[string]any) { sdk.Log(uid, event, property, time.Local.String()) } +// 用户属性初始化 +func (sdk *SDK) Uinit(uid string, property map[string]any, timezone string) { + sdk.Log(uid, "u_init", property, timezone) +} +func (sdk *SDK) UinitLtz(uid string, property map[string]any) { + sdk.Uinit(uid, property, time.Local.String()) +} + +// 用户属性设置 +func (sdk *SDK) Uset(uid string, property map[string]any, timezone string) { + sdk.Log(uid, "u_set", property, timezone) +} +func (sdk *SDK) UsetLtz(uid string, property map[string]any) { + sdk.Uset(uid, property, time.Local.String()) +} + +// 用户属性删除 +func (sdk *SDK) Uunset(uid string, property map[string]any, timezone string) { + sdk.Log(uid, "u_unset", property, timezone) +} +func (sdk *SDK) UunsetLtz(uid string, property map[string]any) { + sdk.Uunset(uid, property, time.Local.String()) +} + +// 用户属性自增/减 +func (sdk *SDK) Uinc(uid string, property map[string]any, timezone string) { + sdk.Log(uid, "u_inc", property, timezone) +} +func (sdk *SDK) UincLtz(uid string, property map[string]any) { + sdk.Uinc(uid, property, time.Local.String()) +} + // 这个方法只会在内部协程调用 func (sdk *SDK) flush() { sdk.mu.Lock()