Documentation ¶
Index ¶
- func BoolEnv(b *bool, key string)
- func GetEnv(key string, defaultValue string) string
- func GetEnvBool(key string, defaultValue bool) bool
- func GetEnvFloat64(key string, defaultValue float64) float64
- func GetEnvInt(key string, defaultValue int) int
- func GetEnvInt64(key string, defaultValue int64) int64
- func StringEnv(v *string, key string)
- type APNSPush
- type AliyunInternationalSMSConfig
- type AliyunSMSConfig
- type AsyncTask
- func (a *AsyncTask) LaunchWorker(consumerTag string, concurrency int) error
- func (a *AsyncTask) RegisterTask(name string, taskFunc interface{}) error
- func (a *AsyncTask) RegisterTasks(namedTaskFuncs map[string]interface{}) error
- func (a *AsyncTask) SendTask(task *tasks.Signature) (*result.AsyncResult, error)
- func (a *AsyncTask) SendTaskWithContext(ctx context.Context, task *tasks.Signature) (*result.AsyncResult, error)
- type CMDGroupAvatarUpdateReq
- type CMDResp
- type Channel
- type ChannelBlacklistReq
- type ChannelCreateReq
- type ChannelDeleteReq
- type ChannelInfoCreateReq
- type ChannelMaxSeqResp
- type ChannelReq
- type ChannelWhitelistReq
- type ClearConversationUnreadReq
- type Config
- func (c *Config) ComposeCustomerServiceChannelID(vid string, channelID string) string
- func (c *Config) ConfigFileUsed() string
- func (c *Config) ConfigureWithViper(vp *viper.Viper)
- func (c *Config) GetAvatarPath(uid string) string
- func (c *Config) GetCommunityAvatarFilePath(communityNo string) string
- func (c *Config) GetCommunityCoverFilePath(communityNo string) string
- func (c *Config) GetCustomerServiceChannelID(channelID string) (string, bool)
- func (c *Config) GetCustomerServiceVisitorUID(channelID string) (string, bool)
- func (c *Config) GetGroupAvatarFilePath(groupNo string) string
- func (c *Config) GetOrganizationLogoFilePath(orgId string) string
- func (c *Config) IsVisitor(uid string) bool
- func (c *Config) IsVisitorChannel(uid string) bool
- type Context
- func (c *Context) AddEventListener(event string, listener EventListener)
- func (c *Context) AddMessagesListener(listener MessagesListener)
- func (c *Context) AddOnlineStatusListener(listener OnlineStatusListener)
- func (c *Context) AsyncTask() *AsyncTask
- func (c *Context) AuthMiddleware(r *wkhttp.WKHttp) wkhttp.HandlerFunc
- func (c *Context) Cache() cache.Cache
- func (c *Context) DB() *dbr.Session
- func (c *Context) EventBegin(data *wkevent.Data, tx *dbr.Tx) (int64, error)
- func (c *Context) EventCommit(eventID int64)
- func (c *Context) GenSeq(flag string) int64
- func (c *Context) GetAllOnlineStatusListeners() []OnlineStatusListener
- func (c *Context) GetConfig() *Config
- func (c *Context) GetElasticsearch() *elastic.Client
- func (c *Context) GetEventListeners(event string) []EventListener
- func (c *Context) GetHttpRoute() *wkhttp.WKHttp
- func (c *Context) GetRedisConn() *redis.Conn
- func (c *Context) IMAddSubscriber(req *SubscriberAddReq) error
- func (c *Context) IMBlacklistAdd(req ChannelBlacklistReq) error
- func (c *Context) IMBlacklistRemove(req ChannelBlacklistReq) error
- func (c *Context) IMBlacklistSet(req ChannelBlacklistReq) error
- func (c *Context) IMClearConversationUnread(req ClearConversationUnreadReq) error
- func (c *Context) IMCreateOrUpdateChannel(req *ChannelCreateReq) error
- func (c *Context) IMCreateOrUpdateChannelInfo(req *ChannelInfoCreateReq) error
- func (c *Context) IMDelChannel(req *ChannelDeleteReq) error
- func (c *Context) IMDeleteConversation(req DeleteConversationReq) error
- func (c *Context) IMGetChannelMaxSeq(channelID string, channelType uint8) (*ChannelMaxSeqResp, error)
- func (c *Context) IMGetConversations(uid string) ([]*ConversationResp, error)
- func (c *Context) IMGetWithChannelAndSeqs(channelID string, channelType uint8, loginUID string, seqs []uint32) (*SyncChannelMessageResp, error)
- func (c *Context) IMRemoveSubscriber(req *SubscriberRemoveReq) error
- func (c *Context) IMRevokeMessage(req *MessageRevokeReq) error
- func (c *Context) IMSOnlineStatus(uids []string) ([]*OnlinestatusResp, error)
- func (c *Context) IMStreamEnd(req MessageStreamEndReq) error
- func (c *Context) IMStreamStart(req MessageStreamStartReq) (string, error)
- func (c *Context) IMSyncChannelMessage(req SyncChannelMessageReq) (*SyncChannelMessageResp, error)
- func (c *Context) IMSyncMessage(req *MsgSyncReq) ([]*MessageResp, error)
- func (c *Context) IMSyncMessageAck(req *SyncackReq) error
- func (c *Context) IMSyncUserConversation(uid string, version int64, msgCount int64, lastMsgSeqs string, ...) ([]*SyncUserConversationResp, error)
- func (c *Context) IMWhitelistAdd(req ChannelWhitelistReq) error
- func (c *Context) IMWhitelistRemove(req ChannelWhitelistReq) error
- func (c *Context) IMWhitelistSet(req ChannelWhitelistReq) error
- func (c *Context) NewMemoryCache() cache.Cache
- func (c *Context) NewMySQL() *dbr.Session
- func (c *Context) NewRedisCache() *common.RedisCache
- func (c *Context) NotifyMessagesListeners(messages []*MessageResp)
- func (c *Context) QuitUserDevice(uid string, deviceFlag int) error
- func (c *Context) Schedule(interval time.Duration, f func()) *timingwheel.Timer
- func (c *Context) SendCMD(req MsgCMDReq) error
- func (c *Context) SendChannelUpdate(channel ChannelReq, updateChannel ChannelReq) error
- func (c *Context) SendChannelUpdateToGroup(groupNo string) error
- func (c *Context) SendChannelUpdateToUser(uid string, channel ChannelReq) error
- func (c *Context) SendChannelUpdateWithFromUID(channel ChannelReq, updateChannel ChannelReq, fromUID string) error
- func (c *Context) SendFriendApply(req *MsgFriendApplyReq) error
- func (c *Context) SendFriendDelete(req *MsgFriendDeleteReq) error
- func (c *Context) SendFriendSure(req *MsgFriendSureReq) error
- func (c *Context) SendGroupCreate(req *MsgGroupCreateReq) error
- func (c *Context) SendGroupExit(groupNo string, uid string, name string, visibleUids []string) error
- func (c *Context) SendGroupMemberAdd(req *MsgGroupMemberAddReq) error
- func (c *Context) SendGroupMemberBeRemove(req *MsgGroupMemberRemoveReq) error
- func (c *Context) SendGroupMemberInviteReq(req MsgGroupMemberInviteReq) error
- func (c *Context) SendGroupMemberRemove(req *MsgGroupMemberRemoveReq) error
- func (c *Context) SendGroupMemberScanJoin(req MsgGroupMemberScanJoin) error
- func (c *Context) SendGroupMemberUpdate(groupNo string) error
- func (c *Context) SendGroupTransferGrouper(req MsgGroupTransferGrouper) error
- func (c *Context) SendGroupUpdate(req *MsgGroupUpdateReq) error
- func (c *Context) SendGroupUpgrade(groupNo string) error
- func (c *Context) SendMessage(req *MsgSendReq) error
- func (c *Context) SendMessageBatch(req *MsgSendBatch) error
- func (c *Context) SendMessageWithResult(req *MsgSendReq) (*MsgSendResp, error)
- func (c *Context) SendRTCCallResult(req P2pRtcMessageReq) error
- func (c *Context) SendRevoke(req *MsgRevokeReq) error
- func (c *Context) SendTyping(channelID string, channelType uint8, fromUID string) error
- func (c *Context) SendUnableAddDestoryAccountInGroup(req *MsgGroupCreateReq) error
- func (c *Context) SetHttpRoute(r *wkhttp.WKHttp)
- func (c *Context) SetValue(value interface{}, key string)
- func (c *Context) Tracer() *Tracer
- func (c *Context) UpdateIMToken(req UpdateIMTokenReq) (*UpdateIMTokenResp, error)
- func (c *Context) Value(key string) any
- type ConversationResp
- type DeleteConversationReq
- type DeviceFlag
- type DeviceLevel
- type EmptySpan
- func (e *EmptySpan) BaggageItem(restrictedKey string) string
- func (e *EmptySpan) Context() opentracing.SpanContext
- func (e *EmptySpan) Finish()
- func (e *EmptySpan) FinishWithOptions(opts opentracing.FinishOptions)
- func (e *EmptySpan) Log(data opentracing.LogData)
- func (e *EmptySpan) LogEvent(event string)
- func (e *EmptySpan) LogEventWithPayload(event string, payload interface{})
- func (e *EmptySpan) LogFields(fields ...log.Field)
- func (e *EmptySpan) LogKV(alternatingKeyValues ...interface{})
- func (e *EmptySpan) SetBaggageItem(restrictedKey, value string) opentracing.Span
- func (e *EmptySpan) SetOperationName(operationName string) opentracing.Span
- func (e *EmptySpan) SetTag(key string, value interface{}) opentracing.Span
- func (e *EmptySpan) Tracer() opentracing.Tracer
- type EmptySpanContext
- type EventCommit
- type EventListener
- type FIREBASEPush
- type FileService
- type HMSPush
- type MIPush
- type MessageDeleteReq
- type MessageResp
- type MessageRevokeReq
- type MessageStreamEndReq
- type MessageStreamStartReq
- type MessagesListener
- type MinioConfig
- type Mode
- type MsgCMDReq
- type MsgFriendApplyReq
- type MsgFriendDeleteReq
- type MsgFriendSureReq
- type MsgGroupCreateReq
- type MsgGroupDisband
- type MsgGroupMemberAddReq
- type MsgGroupMemberInviteReq
- type MsgGroupMemberRemoveReq
- type MsgGroupMemberScanJoin
- type MsgGroupTransferGrouper
- type MsgGroupUpdateReq
- type MsgHeader
- type MsgOrgOrDeptCreateReq
- type MsgOrgOrDeptEmployeeAddReq
- type MsgOrgOrDeptEmployeeUpdateReq
- type MsgRevokeReq
- type MsgSendBatch
- type MsgSendReq
- type MsgSendResp
- type MsgSyncReq
- type OPPOPush
- type OSSConfig
- type OnlineStatus
- type OnlineStatusListener
- type OnlinestatusResp
- type OrgEmployeeExitReq
- type OrgOrDeptEmployeeVO
- type P2pRtcMessageReq
- type PullMode
- type QiniuConfig
- type ReactionResp
- type SMSProvider
- type SeaweedConfig
- type Seq
- type Setting
- type StreamItemResp
- type SubscriberAddReq
- type SubscriberRemoveReq
- type SyncChannelMessageReq
- type SyncChannelMessageResp
- type SyncUserConversationResp
- type SyncUserConversationRespWrap
- type SyncackReq
- type TablePartitionConfig
- type Tracer
- func (t *Tracer) Close() error
- func (t *Tracer) ContextWithSpan(ctx context.Context, span opentracing.Span) context.Context
- func (t *Tracer) Extract(format interface{}, carrier interface{}) (opentracing.SpanContext, error)
- func (t *Tracer) ExtractHTTPHeader(header http.Header) (opentracing.SpanContext, error)
- func (t *Tracer) GinMiddle() gin.HandlerFunc
- func (t *Tracer) Inject(sm opentracing.SpanContext, format interface{}, carrier interface{}) error
- func (t *Tracer) InjectHTTPHeader(sm opentracing.SpanContext, header http.Header) error
- func (t *Tracer) StartSpan(operationName string, opts ...opentracing.StartSpanOption) opentracing.Span
- func (t *Tracer) StartSpanFromContext(ctx context.Context, operationName string, opts ...opentracing.StartSpanOption) (opentracing.Span, context.Context)
- type UnismsConfig
- type UpdateIMTokenReq
- type UpdateIMTokenResp
- type UpdateSearchMessageReq
- type UpdateTokenStatus
- type UserBaseVo
- type UserResp
- type VIVOPush
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func GetEnvFloat64 ¶
GetEnvFloat64 环境变量获取
Types ¶
type AliyunInternationalSMSConfig ¶
type AliyunInternationalSMSConfig struct { AccessKeyID string // aliyun的AccessKeyID AccessSecret string // aliyun的AccessSecret SignName string // 签名 }
AliyunInternationalSMSConfig 阿里云短信
type AliyunSMSConfig ¶
type AliyunSMSConfig struct { AccessKeyID string // aliyun的AccessKeyID AccessSecret string // aliyun的AccessSecret TemplateCode string // aliyun的短信模版 SignName string // 签名 }
AliyunSMSConfig 阿里云短信
type AsyncTask ¶
AsyncTask 异步任务
func (*AsyncTask) LaunchWorker ¶
LaunchWorker 启动消费worker [concurrency]并发数
func (*AsyncTask) RegisterTask ¶
RegisterTask 注册任务
func (*AsyncTask) RegisterTasks ¶
RegisterTasks 注册任务
func (*AsyncTask) SendTaskWithContext ¶
func (a *AsyncTask) SendTaskWithContext(ctx context.Context, task *tasks.Signature) (*result.AsyncResult, error)
SendTaskWithContext 发送任务
type CMDGroupAvatarUpdateReq ¶
type CMDGroupAvatarUpdateReq struct { GroupNo string `json:"group_no"` // 群编号 Members []string `json:"members"` // 成员uids }
CMDGroupAvatarUpdateReq 群头像更新请求
type CMDResp ¶
type CMDResp struct { CMD string `json:"cmd"` Param interface{} `json:"param"` }
CMDResp CMDResp
type ChannelBlacklistReq ¶
type ChannelBlacklistReq struct { ChannelReq UIDs []string `json:"uids"` // 黑名单用户 }
ChannelBlacklistReq 黑名单
type ChannelCreateReq ¶
type ChannelCreateReq struct { ChannelID string `json:"channel_id"` // 频道ID ChannelType uint8 `json:"channel_type"` // 频道类型 Ban int `json:"ban"` // 是否被封禁(被封后 任何人都不能发消息,包括创建者) Large int `json:"large"` // 是否是超大群(一般建议500或1000成员以上设置为超大群,超大群,注意:超大群不会维护最近会话数据) Subscribers []string `json:"subscribers"` // 订阅者 }
ChannelCreateReq 频道创建请求
type ChannelDeleteReq ¶
type ChannelDeleteReq struct { ChannelID string `json:"channel_id"` // 频道ID ChannelType uint8 `json:"channel_type"` // 频道类型 }
ChannelDeleteReq 删除频道请求
type ChannelInfoCreateReq ¶
type ChannelInfoCreateReq struct { ChannelID string `json:"channel_id"` // 频道ID ChannelType uint8 `json:"channel_type"` // 频道类型 Ban int `json:"ban"` // 是否封禁 Large int `json:"large"` // 是否大群 }
ChannelInfoCreateReq
type ChannelMaxSeqResp ¶
type ChannelMaxSeqResp struct {
MessageSeq uint32 `json:"message_seq"` // 最大序列号
}
ChannelMaxSeqResp 频道最大序列号返回
type ChannelReq ¶
type ChannelReq struct { ChannelID string `json:"channel_id"` // 频道ID ChannelType uint8 `json:"channel_type"` // 频道类型 }
ChannelReq ChannelReq
type ChannelWhitelistReq ¶
type ChannelWhitelistReq struct { ChannelReq UIDs []string `json:"uids"` // 白名单用户 }
ChannelWhitelistReq 白名单
type ClearConversationUnreadReq ¶
type ClearConversationUnreadReq struct { UID string `json:"uid"` ChannelID string `json:"channel_id"` ChannelType uint8 `json:"channel_type"` Unread int `json:"unread"` MessageSeq uint32 `json:"message_seq"` }
ClearConversationUnreadReq 清除用户某个频道未读数请求
type Config ¶
type Config struct { // ---------- 基础配置 ---------- Mode Mode // 模式 debug 测试 release 正式 bench 压力测试 AppID string // APP ID AppName string // APP名称 Version string // 版本 RootDir string // 数据根目录 Addr string // 服务监听地址 x.x.x.x:8080 GRPCAddr string // grpc的通信地址 (建议内网通信) SSLAddr string // ssl 监听地址 MessageSaveAcrossDevice bool // 消息是否跨设备保存(换设备登录消息是否还能同步到老消息) WelcomeMessage string // 登录注册欢迎语 PhoneSearchOff bool // 是否关闭手机号搜索 OnlineStatusOn bool // 是否开启在线状态显示 GroupUpgradeWhenMemberCount int // 当成员数量大于此配置时 自动升级为超级群 默认为 1000 EventPoolSize int64 // 事件任务池大小 AdminPwd string // 后台管理默认密码 // ---------- 外网配置 ---------- External struct { IP string // 外网IP BaseURL string // 本服务的对外的基础地址 H5BaseURL string // h5页面的基地址 如果没有配置默认未 BaseURL + /web APIBaseURL string // api的基地址 如果没有配置默认未 BaseURL + /v1 WebLoginURL string // web登录地址 } // ---------- 日志配置 ---------- Logger struct { Dir string // 日志存储目录 Level zapcore.Level LineNum bool // 是否显示代码行数 } // ---------- db相关配置 ---------- DB struct { MySQLAddr string // mysql的连接信息 MySQLMaxOpenConns int // 最大连接数 MySQLMaxIdleConns int // 最大空闲连接数 MySQLConnMaxLifetime time.Duration // 连接最大生命周期 Migration bool // 是否合并数据库 RedisAddr string // redis地址 RedisPass string // redis密码 AsynctaskRedisAddr string // 异步任务的redis地址 不写默认为RedisAddr的地址 } // ---------- 分布式配置 ---------- Cluster struct { NodeID int // 节点ID 节点ID需要小于1024 } // ---------- 缓存配置 ---------- Cache struct { TokenCachePrefix string // token缓存前缀 LoginDeviceCachePrefix string // 登录设备缓存前缀 LoginDeviceCacheExpire time.Duration // 登录设备缓存过期时间 UIDTokenCachePrefix string // uidtoken缓存前缀 FriendApplyTokenCachePrefix string // 申请好友的token的前缀 FriendApplyExpire time.Duration // 好友申请过期时间 TokenExpire time.Duration // token失效时间 NameCacheExpire time.Duration // 名字缓存过期时间 } // ---------- 系统账户设置 ---------- Account struct { SystemUID string //系统账号uid FileHelperUID string // 文件助手uid SystemGroupID string //系统群ID 需求在app_config表里设置new_user_join_system_group为1才有效 SystemGroupName string // 系统群的名字 AdminUID string //系统管理员账号 } FileService FileService // 文件服务 OSS OSSConfig // 阿里云oss配置 Minio MinioConfig // minio配置 Seaweed SeaweedConfig // seaweedfs配置 Qiniu QiniuConfig // 七牛云配置 // ---------- 短信运营商 ---------- SMSCode string // 模拟的短信验证码 SMSProvider SMSProvider UniSMS UnismsConfig // unisms https://unisms.apistd.com/ AliyunSMS AliyunSMSConfig // aliyun sms AliyunInternationalSMS AliyunInternationalSMSConfig // 阿里云国际短信 // ---------- 悟空IM ---------- WuKongIM struct { APIURL string // im基地址 ManagerToken string // im的管理者token wukongim配置了就需要填写,没配置就不需要 } // ---------- 头像 ---------- Avatar struct { Default string // 默认头像 DefaultCount int // 默认头像数量 Partition int // 头像分区数量 DefaultBaseURL string // 默认头像的基地址 } // ---------- 短编号 ---------- ShortNo struct { NumOn bool // 是否开启数字短编号 NumLen int // 数字短编号长度 EditOff bool // 是否关闭短编号编辑 } // ---------- robot ---------- Robot struct { MessageExpire time.Duration // 消息过期时间 InlineQueryTimeout time.Duration // inlineQuery事件过期时间 EventPoolSize int64 // 机器人事件池大小 } // ---------- gitee ---------- Gitee struct { OAuthURL string // gitee oauth url ClientID string // gitee client id ClientSecret string // gitee client secret } // ---------- github ---------- Github struct { OAuthURL string // github oauth url ClientID string // github client id ClientSecret string // github client secret } // ---------- owt ---------- OWT struct { URL string // owt api地址 例如: https://xx.xx.xx.xx:3000/v1 ServiceID string // owt的服务ID ServiceKey string // owt的服务key (用户访问后台的api) RoomMaxCount int // 房间最大参与人数 } Register struct { Off bool // 是否关闭注册 OnlyChina bool // 是否仅仅中国手机号可以注册 StickerAddOff bool // 是否关闭注册添加表情 UsernameOn bool // 是否开启用户名注册 } Organization struct { ImportOn bool // 是否开启导入组织信息 } // ---------- 好友 ---------- Friend struct { AddedTipsText string // 成为好友系统提示消息 } // ---------- 消息搜索 ---------- ZincSearch struct { SearchOn bool // 是否开启消息搜索 APIURL string // ZincSearch 请求地址 ZincUsername string // ZincSearch 登录用户名 ZincPassword string // ZincSearch 登录密码 SyncIntervalSecond int // 同步消息间隔时间(单位秒) SyncCount int // 每张表每次同步数量 默认100条 } // ---------- 群 ---------- Group struct { SameDayCreateMaxCount int // 同一天创建群的最大数量 CreateGroupVerifyFriendOn bool // 建群是否开启好友验证 } // ---------- push ---------- Push struct { ContentDetailOn bool // 推送是否显示正文详情(如果为false,则只显示“您有一条新的消息” 默认为true) PushPoolSize int64 // 推送任务池大小 APNS APNSPush // 苹果推送 MI MIPush // 小米推送 HMS HMSPush // 华为推送 VIVO VIVOPush // vivo推送 OPPO OPPOPush // oppo推送 FIREBASE FIREBASEPush // FIREBASE推送 } // ---------- message ---------- Message struct { SendMessageOn bool // 是否开启接口发送发送消息 SyncReadedCountIntervalSecond int // 同步消息已读数量间隔时间(单位秒) } // ---------- wechat ---------- Wechat struct { AppID string // 微信appid 在开放平台内 AppSecret string } // ---------- tracing ---------- Tracing struct { On bool // 是否开启tracing Addr string // tracer的地址 } // ---------- support ---------- Support struct { Email string // 技术支持的邮箱地址 EmailSmtp string // 技术支持的邮箱的smtp EmailPwd string // 邮箱密码 } Test bool // 是否是测试模式 QRCodeInfoURL string // 获取二维码信息的URL VisitorUIDPrefix string // 访客uid的前缀 TimingWheelTick duration // The time-round training interval must be 1ms or more TimingWheelSize int64 // Time wheel size ElasticsearchURL string // elasticsearch 地址 TablePartitionConfig TablePartitionConfig // ---------- 系统配置 由系统生成,无需用户配置 ---------- AppRSAPrivateKey string AppRSAPubKey string // contains filtered or unexported fields }
Config 配置信息
func (*Config) ComposeCustomerServiceChannelID ¶
组合客服ID
func (*Config) ConfigFileUsed ¶
func (*Config) ConfigureWithViper ¶
func (*Config) GetAvatarPath ¶
GetAvatarPath 获取用户头像path
func (*Config) GetCommunityAvatarFilePath ¶
GetCommunityAvatarFilePath 获取社区头像上传路径
func (*Config) GetCommunityCoverFilePath ¶
GetCommunityCoverFilePath 获取社区封面上传路径
func (*Config) GetCustomerServiceChannelID ¶
获取客服频道真实ID
func (*Config) GetCustomerServiceVisitorUID ¶
获取客服频道的访客id
func (*Config) GetGroupAvatarFilePath ¶
GetGroupAvatarFilePath 获取群头像上传路径
func (*Config) GetOrganizationLogoFilePath ¶
GetOrganizationLogoFilePath 获取组织logo上传路径
func (*Config) IsVisitorChannel ¶
IsVisitorChannel 是访客频道
type Context ¶
type Context struct { log.Log EventPool pool.Collector PushPool pool.Collector // 离线push RobotEventPool pool.Collector // 机器人事件pool Event wkevent.Event UserIDGen *snowflake.Node // 消息ID生成器 SetupTask bool // 是否安装task // contains filtered or unexported fields }
Context 配置上下文
func (*Context) AddEventListener ¶
func (c *Context) AddEventListener(event string, listener EventListener)
AddEventListener 添加事件监听
func (*Context) AddMessagesListener ¶
func (c *Context) AddMessagesListener(listener MessagesListener)
AddMessagesListener 添加消息监听者
func (*Context) AddOnlineStatusListener ¶
func (c *Context) AddOnlineStatusListener(listener OnlineStatusListener)
AddOnlineStatusListener 添加在线状态监听
func (*Context) AuthMiddleware ¶
func (c *Context) AuthMiddleware(r *wkhttp.WKHttp) wkhttp.HandlerFunc
认证中间件
func (*Context) EventBegin ¶
EventBegin 开启事件
func (*Context) GetAllOnlineStatusListeners ¶
func (c *Context) GetAllOnlineStatusListeners() []OnlineStatusListener
GetAllOnlineStatusListeners 获取所有在线监听者
func (*Context) GetElasticsearch ¶
GetElasticsearch 获取Elasticsearch客户端
func (*Context) GetEventListeners ¶
func (c *Context) GetEventListeners(event string) []EventListener
GetEventListeners 获取某个事件
func (*Context) GetHttpRoute ¶
func (*Context) GetRedisConn ¶
GetRedisConn GetRedisConn
func (*Context) IMAddSubscriber ¶
func (c *Context) IMAddSubscriber(req *SubscriberAddReq) error
IMAddSubscriber 请求IM创建频道
func (*Context) IMBlacklistAdd ¶
func (c *Context) IMBlacklistAdd(req ChannelBlacklistReq) error
IMBlacklistAdd 添加黑名单
func (*Context) IMBlacklistRemove ¶
func (c *Context) IMBlacklistRemove(req ChannelBlacklistReq) error
IMBlacklistRemove 移除黑名单
func (*Context) IMBlacklistSet ¶
func (c *Context) IMBlacklistSet(req ChannelBlacklistReq) error
IMBlacklistSet 设置黑名单
func (*Context) IMClearConversationUnread ¶
func (c *Context) IMClearConversationUnread(req ClearConversationUnreadReq) error
IMClearConversationUnread 清除用户某个频道的未读数
func (*Context) IMCreateOrUpdateChannel ¶
func (c *Context) IMCreateOrUpdateChannel(req *ChannelCreateReq) error
IMCreateOrUpdateChannel 请求IM创建或更新频道
func (*Context) IMCreateOrUpdateChannelInfo ¶
func (c *Context) IMCreateOrUpdateChannelInfo(req *ChannelInfoCreateReq) error
IMCreateOrUpdateChannelInfo 修改或创建channel信息
func (*Context) IMDelChannel ¶
func (c *Context) IMDelChannel(req *ChannelDeleteReq) error
IMDelChannel 删除频道
func (*Context) IMDeleteConversation ¶
func (c *Context) IMDeleteConversation(req DeleteConversationReq) error
IMDeleteConversation 删除最近会话
func (*Context) IMGetChannelMaxSeq ¶
func (c *Context) IMGetChannelMaxSeq(channelID string, channelType uint8) (*ChannelMaxSeqResp, error)
IMGetChannelMaxSeq
func (*Context) IMGetConversations ¶
func (c *Context) IMGetConversations(uid string) ([]*ConversationResp, error)
IMGetConversations 获取用户最近会话列表
func (*Context) IMGetWithChannelAndSeqs ¶
func (c *Context) IMGetWithChannelAndSeqs(channelID string, channelType uint8, loginUID string, seqs []uint32) (*SyncChannelMessageResp, error)
IMGetWithChannelAndSeqs
func (*Context) IMRemoveSubscriber ¶
func (c *Context) IMRemoveSubscriber(req *SubscriberRemoveReq) error
IMRemoveSubscriber 请求IM创建频道
func (*Context) IMRevokeMessage ¶
func (c *Context) IMRevokeMessage(req *MessageRevokeReq) error
IMRevokeMessage 撤回IM消息
func (*Context) IMSOnlineStatus ¶
func (c *Context) IMSOnlineStatus(uids []string) ([]*OnlinestatusResp, error)
IMSOnlineStatus 获取指定用户的在线状态
func (*Context) IMStreamEnd ¶
func (c *Context) IMStreamEnd(req MessageStreamEndReq) error
func (*Context) IMStreamStart ¶
func (c *Context) IMStreamStart(req MessageStreamStartReq) (string, error)
IMStreamStart 消息流开始 返回流编号
func (*Context) IMSyncChannelMessage ¶
func (c *Context) IMSyncChannelMessage(req SyncChannelMessageReq) (*SyncChannelMessageResp, error)
IMSyncChannelMessage 同步频道消息
func (*Context) IMSyncMessage ¶
func (c *Context) IMSyncMessage(req *MsgSyncReq) ([]*MessageResp, error)
IMSyncMessage 同步IM消息
func (*Context) IMSyncMessageAck ¶
func (c *Context) IMSyncMessageAck(req *SyncackReq) error
IMSyncMessageAck 同步IM消息回执
func (*Context) IMSyncUserConversation ¶
func (c *Context) IMSyncUserConversation(uid string, version int64, msgCount int64, lastMsgSeqs string, larges []*Channel) ([]*SyncUserConversationResp, error)
IMSyncUserConversation 同步用户会话数据
func (*Context) IMWhitelistAdd ¶
func (c *Context) IMWhitelistAdd(req ChannelWhitelistReq) error
IMWhitelistAdd 添加白名单
func (*Context) IMWhitelistRemove ¶
func (c *Context) IMWhitelistRemove(req ChannelWhitelistReq) error
IMWhitelistRemove 移除白名单
func (*Context) IMWhitelistSet ¶
func (c *Context) IMWhitelistSet(req ChannelWhitelistReq) error
IMWhitelistSet 白名单设置(覆盖旧的数据)
func (*Context) NewMemoryCache ¶
NewMemoryCache 创建一个内存缓存
func (*Context) NewRedisCache ¶
func (c *Context) NewRedisCache() *common.RedisCache
NewRedisCache 创建一个redis缓存
func (*Context) NotifyMessagesListeners ¶
func (c *Context) NotifyMessagesListeners(messages []*MessageResp)
NotifyMessagesListeners 通知消息监听者
func (*Context) QuitUserDevice ¶
退出用户指定的设备 deviceFlag -1 表示退出用户所有的设备
func (*Context) Schedule ¶
func (c *Context) Schedule(interval time.Duration, f func()) *timingwheel.Timer
Schedule 延迟任务
func (*Context) SendChannelUpdate ¶
func (c *Context) SendChannelUpdate(channel ChannelReq, updateChannel ChannelReq) error
SendChannelUpdate 发送频道更新命令
func (*Context) SendChannelUpdateToGroup ¶
func (*Context) SendChannelUpdateToUser ¶
func (c *Context) SendChannelUpdateToUser(uid string, channel ChannelReq) error
func (*Context) SendChannelUpdateWithFromUID ¶
func (c *Context) SendChannelUpdateWithFromUID(channel ChannelReq, updateChannel ChannelReq, fromUID string) error
func (*Context) SendFriendApply ¶
func (c *Context) SendFriendApply(req *MsgFriendApplyReq) error
SendFriendApply 发送好友申请请求
func (*Context) SendFriendDelete ¶
func (c *Context) SendFriendDelete(req *MsgFriendDeleteReq) error
func (*Context) SendFriendSure ¶
func (c *Context) SendFriendSure(req *MsgFriendSureReq) error
SendFriendSure 发送好友确认请求
func (*Context) SendGroupCreate ¶
func (c *Context) SendGroupCreate(req *MsgGroupCreateReq) error
SendGroupCreate 发送群创建的消息
func (*Context) SendGroupExit ¶
func (c *Context) SendGroupExit(groupNo string, uid string, name string, visibleUids []string) error
发送某个用户退出群聊的消息
func (*Context) SendGroupMemberAdd ¶
func (c *Context) SendGroupMemberAdd(req *MsgGroupMemberAddReq) error
SendGroupMemberAdd 发送群成员添加消息
func (*Context) SendGroupMemberBeRemove ¶
func (c *Context) SendGroupMemberBeRemove(req *MsgGroupMemberRemoveReq) error
SendGroupMemberBeRemove 发送群成员被移除的消息(发送给被踢的群成员)
func (*Context) SendGroupMemberInviteReq ¶
func (c *Context) SendGroupMemberInviteReq(req MsgGroupMemberInviteReq) error
SendGroupMemberInviteReq 群主转让
func (*Context) SendGroupMemberRemove ¶
func (c *Context) SendGroupMemberRemove(req *MsgGroupMemberRemoveReq) error
SendGroupMemberRemove 发送群成员移除消息
func (*Context) SendGroupMemberScanJoin ¶
func (c *Context) SendGroupMemberScanJoin(req MsgGroupMemberScanJoin) error
SendGroupMemberScanJoin 发送群成员扫码加入消息
func (*Context) SendGroupMemberUpdate ¶
func (*Context) SendGroupTransferGrouper ¶
func (c *Context) SendGroupTransferGrouper(req MsgGroupTransferGrouper) error
SendGroupTransferGrouper 群主转让
func (*Context) SendGroupUpdate ¶
func (c *Context) SendGroupUpdate(req *MsgGroupUpdateReq) error
SendGroupUpdate 发送群更新消息
func (*Context) SendMessageBatch ¶
func (c *Context) SendMessageBatch(req *MsgSendBatch) error
SendMessageBatch 给一批用户发送消息
func (*Context) SendMessageWithResult ¶
func (c *Context) SendMessageWithResult(req *MsgSendReq) (*MsgSendResp, error)
SendMessage 发送消息
func (*Context) SendRTCCallResult ¶
func (c *Context) SendRTCCallResult(req P2pRtcMessageReq) error
rtc 挂断
func (*Context) SendRevoke ¶
func (c *Context) SendRevoke(req *MsgRevokeReq) error
SendRevoke 发送撤回消息
func (*Context) SendTyping ¶
func (*Context) SendUnableAddDestoryAccountInGroup ¶
func (c *Context) SendUnableAddDestoryAccountInGroup(req *MsgGroupCreateReq) error
SendGroupUnableAddDestoryAccount 发送无法添加注销账号到群聊
func (*Context) SetHttpRoute ¶
func (*Context) UpdateIMToken ¶
func (c *Context) UpdateIMToken(req UpdateIMTokenReq) (*UpdateIMTokenResp, error)
UpdateIMToken 更新IM的token
type ConversationResp ¶
type ConversationResp struct { ChannelID string `json:"channel_id"` // 频道ID ChannelType uint8 `json:"channel_type"` // 频道类型 Unread int64 `json:"unread"` // 未读数 Timestamp int64 `json:"timestamp"` // 最后一次会话时间戳 LastMessage *MessageResp `json:"last_message"` // 最后一条消息 }
ConversationResp 最近会话返回数据
type DeleteConversationReq ¶
type DeleteConversationReq struct { UID string `json:"uid"` ChannelID string `json:"channel_id"` // 频道ID ChannelType uint8 `json:"channel_type"` // 频道类型 }
DeleteConversationReq DeleteConversationReq
type DeviceFlag ¶
type DeviceFlag uint8
DeviceFlag 设备类型
const ( // APP APP APP DeviceFlag = iota // Web Web Web // PC在线 PC )
func (DeviceFlag) Uint8 ¶
func (d DeviceFlag) Uint8() uint8
type DeviceLevel ¶
type DeviceLevel uint8
DeviceLevel 设备等级
const ( // DeviceLevelSlave 从设备 DeviceLevelSlave DeviceLevel = 0 // DeviceLevelMaster 主设备 DeviceLevelMaster DeviceLevel = 1 )
type EmptySpan ¶
type EmptySpan struct { }
EmptySpan 空的span
func (*EmptySpan) BaggageItem ¶
BaggageItem BaggageItem
func (*EmptySpan) FinishWithOptions ¶
func (e *EmptySpan) FinishWithOptions(opts opentracing.FinishOptions)
FinishWithOptions FinishWithOptions
func (*EmptySpan) LogEventWithPayload ¶
LogEventWithPayload LogEventWithPayload
func (*EmptySpan) LogKV ¶
func (e *EmptySpan) LogKV(alternatingKeyValues ...interface{})
LogKV LogKV
func (*EmptySpan) SetBaggageItem ¶
SetBaggageItem SetBaggageItem
func (*EmptySpan) SetOperationName ¶
SetOperationName SetOperationName
type EmptySpanContext ¶
type EmptySpanContext struct { }
EmptySpanContext EmptySpanContext
func (*EmptySpanContext) ForeachBaggageItem ¶
func (e *EmptySpanContext) ForeachBaggageItem(handler func(k, v string) bool)
ForeachBaggageItem ForeachBaggageItem
type EventListener ¶
type EventListener func(data []byte, commit EventCommit)
EventListener EventListener
type FIREBASEPush ¶
type FileService ¶
type FileService string
FileService FileService
const ( // FileServiceAliyunOSS 阿里云oss上传服务 FileServiceAliyunOSS FileService = "aliyunOSS" // FileServiceSeaweedFS seaweedfs(https://github.com/chrislusf/seaweedfs) FileServiceSeaweedFS FileService = "seaweedFS" // FileServiceMinio minio FileServiceMinio FileService = "minio" // FileServiceQiniu qiniu FileServiceQiniu FileService = "qiniu" )
func (FileService) String ¶
func (u FileService) String() string
type MessageDeleteReq ¶
type MessageDeleteReq struct { UID string `json:"uid"` // 频道ID ChannelID string `json:"channel_id"` // 频道ID ChannelType uint8 `json:"channel_type"` // 频道类型 MessageIDs []uint64 `json:"message_ids"` // 消息ID集合 (如果all=1 则此字段无效) }
MessageDeleteReq 删除消息请求
type MessageResp ¶
type MessageResp struct { Header MsgHeader `json:"header"` // 消息头 Setting uint8 `json:"setting"` // 设置 MessageID int64 `json:"message_id"` // 服务端的消息ID(全局唯一) MessageSeq uint32 `json:"message_seq"` // 消息序列号 (用户唯一,有序递增) ClientMsgNo string `json:"client_msg_no"` // 客户端消息唯一编号 Expire uint32 `json:"expire"` // 消息过期时间 FromUID string `json:"from_uid"` // 发送者UID ToUID string `json:"to_uid"` // 接受者uid ChannelID string `json:"channel_id"` // 频道ID ChannelType uint8 `json:"channel_type"` // 频道类型 Timestamp int32 `json:"timestamp"` // 服务器消息时间戳(10位,到秒) Payload []byte `json:"payload"` // 消息内容 StreamNo string `json:"stream_no,omitempty"` // 流编号 Streams []*StreamItemResp `json:"streams,omitempty"` // 消息流 // ReplyCount int `json:"reply_count,omitempty"` // 回复集合 // ReplyCountSeq string `json:"reply_count_seq,omitempty"` // 回复数量seq // ReplySeq string `json:"reply_seq,omitempty"` // 回复seq // Reactions []ReactionResp `json:"reactions,omitempty"` // 回应数据 IsDeleted int `json:"is_deleted"` // 是否已删除 VoiceStatus int `json:"voice_status"` // 语音状态 0.未读 1.已读 // contains filtered or unexported fields }
MessageResp 消息
func (*MessageResp) GetContentType ¶
func (m *MessageResp) GetContentType() int
GetContentType 消息正文类型
func (*MessageResp) GetPayloadMap ¶
func (m *MessageResp) GetPayloadMap() (map[string]interface{}, error)
GetPayloadMap GetPayloadMap
type MessageRevokeReq ¶
type MessageRevokeReq struct { ChannelID string `json:"channel_id"` // 频道ID ChannelType uint8 `json:"channel_type"` // 频道类型 MessageIDs []uint64 `json:"message_ids"` // 指定需要撤回的消息 }
MessageRevokeReq 消息撤回请求
type MessageStreamEndReq ¶
type MessageStreamStartReq ¶
type MessageStreamStartReq struct { Header MsgHeader `json:"header"` // 消息头 ClientMsgNo string `json:"client_msg_no"` // 客户端消息编号(相同编号,客户端只会显示一条) FromUID string `json:"from_uid"` // 发送者UID ChannelID string `json:"channel_id"` // 频道ID ChannelType uint8 `json:"channel_type"` // 频道类型 Payload []byte `json:"payload"` // 消息内容 }
type MinioConfig ¶
type MsgCMDReq ¶
type MsgCMDReq struct { NoPersist bool `json:"-"` // 是否需要存储 FromUID string `json:"from_uid"` // 模拟发送者的UID ChannelID string `json:"channel_id"` // 频道ID ChannelType uint8 `json:"channel_type"` // 频道类型 Subscribers []string `json:"subscribers"` // 订阅者 如果此字段有值,表示消息只发给指定的订阅者 CMD string `json:"cmd"` // 操命令 Param map[string]interface{} `json:"param"` // 命令参数 }
MsgCMDReq CMD消息请求
type MsgFriendApplyReq ¶
type MsgFriendApplyReq struct { ApplyUID string `json:"apply_uid"` // 发起申请人的uid ApplyName string `json:"apply_name"` // 发起申请人的名字 ToUID string `json:"to_uid"` // 接收者 Remark string `json:"remark"` // 申请备注 Token string `json:"token"` // 凭证 }
MsgFriendApplyReq 好友申请
type MsgFriendDeleteReq ¶
type MsgFriendDeleteReq struct { FromUID string `json:"from_uid"` // 删除人的uid ToUID string `json:"to_uid"` // 被删除的好友uid }
MsgFriendDeleteReq 好友删除
type MsgFriendSureReq ¶
type MsgFriendSureReq struct { ToUID string `json:"to_uid"` // 接收好友申请的人uid FromUID string `json:"from_uid"` // 发起申请人的uid FromName string `json:"from_name"` // 发起申请人的名字 }
MsgFriendSureReq 确认好友申请
type MsgGroupCreateReq ¶
type MsgGroupCreateReq struct { Creator string `json:"creator"` // 创建者 CreatorName string `json:"creator_name"` // 创建者名称 GroupNo string `json:"group_no"` Version int64 `json:"version"` // 数据版本 Members []*UserBaseVo `json:"members"` }
MsgGroupCreateReq 创建群请求
type MsgGroupDisband ¶
type MsgGroupDisband struct { GroupNo string `json:"group_no"` // 群编号 Operator string `json:"operator"` // 操作者uid OperatorName string `json:"operator_name"` // 操作者名称 }
MsgGroupDisband 群解散
type MsgGroupMemberAddReq ¶
type MsgGroupMemberAddReq struct { Operator string `json:"operator"` // 操作者uid OperatorName string `json:"operator_name"` // 操作者名称 GroupNo string `json:"group_no"` // 群编号 Members []*UserBaseVo `json:"members"` // 邀请成员 }
MsgGroupMemberAddReq 添加群成员
type MsgGroupMemberInviteReq ¶
type MsgGroupMemberInviteReq struct { GroupNo string `json:"group_no"` // 群编号 InviteNo string `json:"invite_no"` // 邀请编号 Inviter string `json:"inviter"` // 邀请者 InviterName string `json:"inviter_name"` // 邀请者名称 Num int `json:"num"` // 邀请成员数量 Subscribers []string `json:"subscribers"` // 消息订阅者 }
MsgGroupMemberInviteReq 群成员邀请请求
type MsgGroupMemberRemoveReq ¶
type MsgGroupMemberRemoveReq struct { Operator string `json:"operator"` // 操作者uid OperatorName string `json:"operator_name"` // 操作者名称 GroupNo string `json:"group_no"` // 群编号 Members []*UserBaseVo `json:"members"` // 邀请成员 }
MsgGroupMemberRemoveReq 移除群成员
type MsgGroupMemberScanJoin ¶
type MsgGroupMemberScanJoin struct { GroupNo string `json:"group_no"` // 群编号 Generator string `json:"generator"` // 二维码生成者uid GeneratorName string `json:"generator_name"` // 二维码生成者名称 Scaner string `json:"scaner"` // 扫码者uid ScanerName string `json:"scaner_name"` // 扫码者名称 }
MsgGroupMemberScanJoin 用户扫码加入群成员
type MsgGroupTransferGrouper ¶
type MsgGroupTransferGrouper struct { GroupNo string `json:"group_no"` OldGrouper string `json:"old_grouper"` // 老群主 OldGrouperName string `json:"old_grouper_name"` // 老群主名称 NewGrouper string `json:"new_grouper"` // 新群主 NewGrouperName string `json:"new_grouper_name"` // 新群主名称 }
MsgGroupTransferGrouper 群主转让
type MsgGroupUpdateReq ¶
type MsgGroupUpdateReq struct { GroupNo string `json:"group_no"` // 群编号 Operator string `json:"operator"` // 操作者uid OperatorName string `json:"operator_name"` // 操作者名称 Attr string `json:"attr"` // 修改群的属性 Data map[string]string `json:"data"` // 数据 }
MsgGroupUpdateReq 群更新请求
type MsgHeader ¶
type MsgHeader struct { NoPersist int `json:"no_persist"` // 是否不持久化 RedDot int `json:"red_dot"` // 是否显示红点 SyncOnce int `json:"sync_once"` // 此消息只被同步或被消费一次(1表示消息将走写模式) ,特别注意:sync_once=1表示写扩散 sync_once=0表示读扩散 写扩散的messageSeq和读扩散messageSeq来源不一样 }
MsgHeader 消息头
type MsgOrgOrDeptCreateReq ¶
type MsgOrgOrDeptCreateReq struct { GroupNo string `json:"group_no"` // 组织或部门ID GroupCategory string `json:"group_category"` // 群分类 Name string `json:"name"` // 组织或部门名称 Operator string `json:"operator"` // 操作者uid OperatorName string `json:"operator_name"` // 操作者名称 Members []*OrgOrDeptEmployeeVO `json:"members"` // 成员 }
MsgOrgOrDeptCreateReq 组织或部门创建
type MsgOrgOrDeptEmployeeAddReq ¶
type MsgOrgOrDeptEmployeeAddReq struct { GroupNo string `json:"group_no"` // 组织或部门ID Name string `json:"name"` // 组织或部门名称 Members []*UserBaseVo `json:"members"` }
MsgOrgOrDeptEmployeeAddReq 组织或部门新增群成员消息
type MsgOrgOrDeptEmployeeUpdateReq ¶
type MsgOrgOrDeptEmployeeUpdateReq struct {
Members []*OrgOrDeptEmployeeVO `json:"members"`
}
type MsgRevokeReq ¶
type MsgRevokeReq struct { FromUID string `json:"from_uid"` Operator string `json:"operator"` // 操作者uid OperatorName string `json:"operator_name"` // 操作者名称 ChannelID string `json:"channel_id"` // 频道ID ChannelType uint8 `json:"channel_type"` // 频道类型 MessageID int64 `json:"message_id"` // 消息ID }
MsgRevokeReq 撤回消息请求
type MsgSendBatch ¶
type MsgSendBatch struct { Header MsgHeader `json:"header"` // 消息头 FromUID string `json:"from_uid"` // 模拟发送者的UID Subscribers []string `json:"subscribers"` // 订阅者 如果此字段有值,表示消息只发给指定的订阅者 Payload []byte `json:"payload"` // 消息内容 }
MsgSendBatch 给一批用户发送消息请求
type MsgSendReq ¶
type MsgSendReq struct { Header MsgHeader `json:"header"` // 消息头 Setting uint8 `json:"setting"` // setting FromUID string `json:"from_uid"` // 模拟发送者的UID ChannelID string `json:"channel_id"` // 频道ID ChannelType uint8 `json:"channel_type"` // 频道类型 StreamNo string `json:"stream_no"` // 消息流号 Subscribers []string `json:"subscribers"` // 订阅者 如果此字段有值,表示消息只发给指定的订阅者 Payload []byte `json:"payload"` // 消息内容 }
MsgSendReq 发送消息请求
func (*MsgSendReq) String ¶
func (m *MsgSendReq) String() string
type MsgSendResp ¶
type MsgSyncReq ¶
type MsgSyncReq struct { UID string `json:"uid"` // 谁的消息 MessageSeq uint32 `json:"message_seq"` // 客户端最大消息序列号 Limit int `json:"limit"` // 消息数量限制 }
MsgSyncReq 消息同步请求
type OPPOPush ¶
type OPPOPush struct { PackageName string AppID string AppKey string AppSecret string MasterSecret string }
oppo推送
type OSSConfig ¶
type OSSConfig struct { Endpoint string BucketName string // Bucket名称 比如 tangsengdaodao BucketURL string // 文件下载地址域名 对应aliyun的Bucket域名 AccessKeyID string AccessKeySecret string }
aliyun oss
type OnlineStatus ¶
type OnlineStatus struct { UID string // 用户uid DeviceFlag uint8 // 设备标记 Online bool // 是否在线 SocketID int64 // 当前设备在wukongim中的在线/离线的socketID OnlineCount int //在线数量 当前DeviceFlag下的在线设备数量 TotalOnlineCount int // 当前用户所有在线设备数量 }
OnlineStatus 在线状态
type OnlineStatusListener ¶
type OnlineStatusListener func(onlineStatusList []OnlineStatus)
OnlineStatusListener 在线状态监听
type OnlinestatusResp ¶
type OnlinestatusResp struct { UID string `json:"uid"` // 在线用户uid DeviceFlag uint8 `json:"device_flag"` // 设备标记 0. APP 1.web LastOffline int `json:"last_offline"` // 最后一次离线时间 Online int `json:"online"` // 是否在线 }
OnlinestatusResp 在线状态返回
type OrgEmployeeExitReq ¶
type OrgEmployeeExitReq struct { Operator string `json:"operator"` // 操作者uid GroupNos []string `json:"group_nos"` // 退出的群列表 }
OrgEmployeeExitReq 组织内成员退出
type OrgOrDeptEmployeeVO ¶
type OrgOrDeptEmployeeVO struct { Operator string `json:"operator"` // 操作者uid OperatorName string `json:"operator_name"` // 操作者名称 EmployeeUid string `json:"employee_uid"` // 员工uid EmployeeName string `json:"employee_name"` // 员工名称 GroupNo string `json:"group_no"` // 组织或部门ID Action string `json:"action"` // 操作类型 'add'|'delete' }
OrgOrDeptEmployeeVO 组织或部门成员更新
type P2pRtcMessageReq ¶
type P2pRtcMessageReq struct { FromUID string ToUID string CallType common.RTCCallType ResultType common.RTCResultType Second int }
type QiniuConfig ¶
type ReactionResp ¶
type ReactionResp struct { Seq string `json:"seq"` // 回复序列号 Users []UserResp `json:"users"` // 回应用户集合 Emoji string `json:"emoji"` // 回应的emoji Count int `json:"count"` // 回应数量 }
ReactionResp 回应返回
type SMSProvider ¶
type SMSProvider string
SMSProvider 短信供应者
const ( // SMSProviderAliyun aliyun SMSProviderAliyun SMSProvider = "aliyun" SMSProviderUnisms SMSProvider = "unisms" // 联合短信(https://unisms.apistd.com/docs/api/send/) )
type SeaweedConfig ¶
type SeaweedConfig struct {
URL string // 文件下载上传基地址
}
type Setting ¶
type Setting struct { Receipt bool // 消息已读回执,此标记表示,此消息需要已读回执 NoUpdateConversation bool // 不更新最近会话 Signal bool // 是否signal加密 }
Setting Setting
type StreamItemResp ¶
type SubscriberAddReq ¶
type SubscriberAddReq struct { ChannelID string `json:"channel_id"` ChannelType uint8 `json:"channel_type"` Reset int `json:"reset"` // 是否重置订阅者 (0.不重置 1.重置),选择重置,将删除原来的所有成员 Subscribers []string `json:"subscribers"` }
SubscriberAddReq 添加订阅请求
type SubscriberRemoveReq ¶
type SubscriberRemoveReq struct { ChannelID string `json:"channel_id"` ChannelType uint8 `json:"channel_type"` Subscribers []string `json:"subscribers"` }
SubscriberRemoveReq 移除订阅请求
type SyncChannelMessageReq ¶
type SyncChannelMessageReq struct { LoginUID string `json:"login_uid"` DeviceUUID string `json:"device_uuid"` ChannelID string `json:"channel_id"` ChannelType uint8 `json:"channel_type"` StartMessageSeq uint32 `json:"start_message_seq"` // 开始序列号 EndMessageSeq uint32 `json:"end_message_seq"` // 结束序列号 Limit int `json:"limit"` // 每次同步数量限制 PullMode PullMode `json:"pull_mode"` // 拉取模式 }
SyncChannelMessageReq 同步频道消息请求
type SyncChannelMessageResp ¶
type SyncChannelMessageResp struct { StartMessageSeq uint32 `json:"start_message_seq"` // 开始序列号 EndMessageSeq uint32 `json:"end_message_seq"` // 结束序列号 PullMode PullMode `json:"pull_mode"` // 拉取模式 Messages []*MessageResp `json:"messages"` // 消息数据 }
SyncChannelMessageResp 同步频道消息返回
type SyncUserConversationResp ¶
type SyncUserConversationResp struct { ChannelID string `json:"channel_id"` // 频道ID ChannelType uint8 `json:"channel_type"` // 频道类型 Unread int `json:"unread"` // 未读消息 Timestamp int64 `json:"timestamp"` // 最后一次会话时间 LastMsgSeq int64 `json:"last_msg_seq"` // 最后一条消息seq LastClientMsgNo string `json:"last_client_msg_no"` // 最后一条客户端消息编号 OffsetMsgSeq int64 `json:"offset_msg_seq"` // 偏移位的消息seq Version int64 `json:"version"` // 数据版本 Recents []*MessageResp `json:"recents"` // 最近N条消息 }
SyncUserConversationResp 最近会话离线返回
type SyncUserConversationRespWrap ¶
type SyncUserConversationRespWrap struct { Conversations []*SyncUserConversationResp `json:"conversations"` CMDVersion int64 `json:"cmd_version"` // 最新cmd版本号 CMDs []*CMDResp `json:"cmds"` // cmd集合 }
SyncUserConversationRespWrap SyncUserConversationRespWrap
type SyncackReq ¶
type SyncackReq struct { // 用户uid UID string `json:"uid"` // 最后一次同步的message_seq LastMessageSeq uint32 `json:"last_message_seq"` }
SyncackReq 同步回执请求
func (SyncackReq) String ¶
func (s SyncackReq) String() string
type TablePartitionConfig ¶
type Tracer ¶
Tracer唐僧叨叨Tracer
func (*Tracer) ContextWithSpan ¶
ContextWithSpan ContextWithSpan
func (*Tracer) ExtractHTTPHeader ¶
ExtractHTTPHeader ExtractHTTPHeader
func (*Tracer) InjectHTTPHeader ¶
InjectHTTPHeader InjectHTTPHeader
type UnismsConfig ¶
type UnismsConfig struct { Signature string AccessKeyID string AccessKeySecret string TemplateId string }
UnismsConfig unisms短信
type UpdateIMTokenReq ¶
type UpdateIMTokenReq struct { UID string Token string DeviceFlag DeviceFlag DeviceLevel DeviceLevel }
UpdateIMTokenReq 更新IM token的请求
type UpdateIMTokenResp ¶
type UpdateIMTokenResp struct {
Status UpdateTokenStatus `json:"status"` // 状态
}
UpdateIMTokenResp 更新IM Token的返回参数
type UpdateSearchMessageReq ¶
type UpdateSearchMessageReq struct { ChannelID string `json:"channel_id"` MessageIDs []string `json:"message_ids"` }
UpdateSearchMessageReq 修改搜索消息
type UpdateTokenStatus ¶
type UpdateTokenStatus int
const ( UpdateTokenStatusSuccess UpdateTokenStatus = 200 UpdateTokenStatusBan UpdateTokenStatus = 19 )
type UserBaseVo ¶
UserBaseVo 用户基础信息