代码拉取完成,页面将自动刷新
package im
import "gitee.com/h79/goutils/common/stringutil"
type EventType int32
func (m EventType) Int() int32 {
return int32(m)
}
func IsClientEvent(ev int32) bool {
return ev >= ETClientBegin.Int() && ev <= ETClientEnd.Int()
}
func IsServerEvent(ev int32) bool {
return ev >= ETServerBegin.Int() && ev <= ETServerEnd.Int()
}
func IsExServerEvent(ev int32) bool {
return ev >= ETExServerBegin.Int() && ev <= ETExServerEnd.Int()
}
func IsUserStatusChanged(ev int32) bool {
return ev == ETClientUserStatusChanged.Int()
}
func IsMQEvent(ev int32) bool {
if IsClientEvent(ev) {
return ev == ETMq.Int()
}
if IsServerEvent(ev) {
return ev-ETServerBegin.Int() == ETMq.Int()
}
if IsExServerEvent(ev) {
return ev-ETExServerBegin.Int() == ETMq.Int()
}
return false
}
func IsEventType(ev int32) int32 {
if IsServerEvent(ev) {
return ev - ETServerBegin.Int()
} else if IsExServerEvent(ev) {
return ev - ETExServerBegin.Int()
}
return ev
}
const (
ETException = EventType(1)
ETClientPing = EventType(2)
ETClientPingRsp = EventType(3)
// ETClientBegin 客户端开始
ETClientBegin = EventType(10)
ETClientHeartBeat = EventType(10)
ETClientHeartBeatRsp = EventType(11)
// ETClientLogin 登录
ETClientLogin = EventType(100)
ETClientLoginRsp = EventType(101)
ETClientLogout = EventType(102)
ETClientLogoutRsp = EventType(103)
// ETClientUserStatusChanged 用户状态发生变化
ETClientUserStatusChanged = EventType(104)
ETClientUserStatusChangedRsp = EventType(105)
ETClientUserList = EventType(106)
ETClientUserListRsp = EventType(107)
// ETClientKicked 多端使用,被踢
ETClientKicked = EventType(108)
ETClientKickedRsp = EventType(109)
// ETMessage 消息事件
ETMessage = EventType(200)
ETMessageRsp = EventType(201)
ETNotify = EventType(202)
ETNotifyRsp = EventType(203)
// ETChat 聊天事件
ETChat = EventType(204)
ETChatRsp = EventType(205)
// ETMq 简单的mq
ETMq = EventType(206)
ETMqRsp = EventType(207)
// ETBody 简单的消息
ETBody = EventType(208)
ETBodyRsp = EventType(209)
// ETClientEnd 客户端结束
ETClientEnd = EventType(4999)
// ETServerBegin 服务之间
ETServerBegin = EventType(5000)
ETServerEnd = EventType(10000)
// ETExServerBegin 外部服务
ETExServerBegin = EventType(20000)
ETExServerEnd = EventType(30000)
)
var em = map[int32]string{
ETException.Int(): "exception",
ETClientPing.Int(): "ping",
ETClientPingRsp.Int(): "pingRsp",
// ETClientBegin 客户端开始
ETClientHeartBeat.Int(): "heart",
ETClientHeartBeatRsp.Int(): "heartRsp",
// ETClientLogin 登录
ETClientLogin.Int(): "login",
ETClientLoginRsp.Int(): "loginRsp",
ETClientLogout.Int(): "logout",
ETClientLogoutRsp.Int(): "logoutRsp",
// ETClientUserStatusChanged 用户状态发生变化
ETClientUserStatusChanged.Int(): "userStatusChanged",
ETClientUserStatusChangedRsp.Int(): "userStatusChangeRsp",
ETClientUserList.Int(): "userList",
ETClientUserListRsp.Int(): "userListRsp",
// ETClientKicked 多端使用,被踢
ETClientKicked.Int(): "kicked",
// ETMessage 消息事件
ETMessage.Int(): "message",
ETMessageRsp.Int(): "messageRsp",
ETNotify.Int(): "notify",
ETNotifyRsp.Int(): "notifyRsp",
// ETChat 聊天事件
ETChat.Int(): "chat",
ETChatRsp.Int(): "chatRsp",
ETMq.Int(): "mq",
ETMqRsp.Int(): "mqRsp",
ETBody.Int(): "body",
ETBodyRsp.Int(): "bodyRsp",
}
func StringEvent(e int32) string {
prefix := ""
ee := e
// ETServerBegin 服务之间
if e >= ETServerBegin.Int() && e <= ETServerEnd.Int() {
ee -= ETServerBegin.Int()
prefix = "im:server:"
}
// ETExServerBegin 外部服务
if e >= ETExServerBegin.Int() && e <= ETExServerEnd.Int() {
ee -= ETExServerBegin.Int()
prefix = "ex:server:"
}
if v, ok := em[e]; ok {
return prefix + v
}
return stringutil.Int32ToString(e)
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。