From af0b8b46f4b21280eeb12238f7a6ee8f3e9b7eae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E5=AF=BB=E6=AC=A2?= Date: Tue, 11 Jan 2022 11:48:40 +0800 Subject: [PATCH] =?UTF-8?q?:sparkles:=20=E8=A1=A5=E5=85=85=E7=8A=B6?= =?UTF-8?q?=E6=80=81=E5=8F=98=E5=8C=96=E5=9B=9E=E8=B0=83=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- callback/state.go | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 callback/state.go diff --git a/callback/state.go b/callback/state.go new file mode 100644 index 0000000..7c7f14e --- /dev/null +++ b/callback/state.go @@ -0,0 +1,21 @@ +package callback + +// StateChangeData 状态变化回调数据 +// https://cloud.tencent.com/document/product/269/2570 +type StateChangeData struct { + CallbackCommand string `json:"CallbackCommand"` // 回调命令 + EventTime int64 `json:"EventTime"` // 触发本次回调的时间戳,单位为毫秒 + Info StateChangeDataInfo `json:"Info"` // 用户上下线的信息 + KickedDevice []StateChangeDataKickedDevice `json:"KickedDevice"` // 如果本次状态变更为 Login(Register),而且有其他设备被踢下线,才会有此字段。此字段表示其他被踢下线的设备的信息 +} + +// StateChangeDataInfo 状态变化回调数据信息 +type StateChangeDataInfo struct { + Action string `json:"Action"` // 用户上线或者下线的动作,Login 表示上线(TCP 建立),Logout 表示下线(TCP 断开),Disconnect 表示网络断开(TCP 断开) + ToAccount string `json:"To_Account"` // 用户 UserID + Reason string `json:"Reason"` // 用户上下线触发的原因 +} + +type StateChangeDataKickedDevice struct { + Platform string `json:"Platform"` // 被踢下线的设备的平台类型,可能的取值有"iOS", "Android", "Web", "Windows", "iPad", "Mac", "Linux" +}