Documentation ¶
Index ¶
- type AtElem
- type BatchSendMsgReq
- type BatchSendMsgResp
- type ConversationElem
- type CustomElem
- type FileElem
- type GetConversationListReq
- type GetConversationListResp
- type GroupAddMemberInfo
- type LocationElem
- type MessageRevoked
- type OANotificationElem
- type PictureBaseInfo
- type PictureElem
- type RevokeElem
- type SendMsg
- type SendMsgReq
- type SingleReturnResult
- type SoundElem
- type TextElem
- type VideoElem
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type BatchSendMsgReq ¶
type BatchSendMsgReq struct { SendMsg // IsSendAll indicates whether the message should be sent to all users. IsSendAll bool `json:"isSendAll"` // RecvIDs is a slice of receiver identifiers to whom the message will be sent, required field. RecvIDs []string `json:"recvIDs" binding:"required"` }
BatchSendMsgReq defines the structure for sending a message to multiple recipients.
type BatchSendMsgResp ¶
type BatchSendMsgResp struct { // Results is a slice of SingleReturnResult, representing the outcome of each message sent. Results []*SingleReturnResult `json:"results"` // FailedIDs is a slice of user IDs for whom the message send failed. FailedIDs []string `json:"failedUserIDs"` }
BatchSendMsgResp contains the results of a batch message send operation.
type ConversationElem ¶ added in v3.5.0
type ConversationElem struct { // MaxSeq represents the maximum sequence number within the conversation. MaxSeq int64 `protobuf:"varint,1,opt,name=maxSeq,proto3" json:"maxSeq,omitempty"` // UnreadSeq represents the number of unread messages in the conversation. UnreadSeq int64 `protobuf:"varint,2,opt,name=unreadSeq,proto3" json:"unreadSeq,omitempty"` // LastSeqTime represents the timestamp of the last sequence in the conversation. LastSeqTime int64 `protobuf:"varint,3,opt,name=LastSeqTime,proto3" json:"LastSeqTime,omitempty"` }
type CustomElem ¶
type GetConversationListReq ¶ added in v3.5.0
type GetConversationListReq struct { // userID uniquely identifies the user. UserID string `protobuf:"bytes,1,opt,name=userID,proto3" json:"userID,omitempty" binding:"required"` // ConversationIDs contains a list of unique identifiers for conversations. ConversationIDs []string `protobuf:"bytes,2,rep,name=conversationIDs,proto3" json:"conversationIDs,omitempty"` }
type GetConversationListResp ¶ added in v3.5.0
type GetConversationListResp struct { // ConversationElems is a map that associates conversation IDs with their respective details. ConversationElems map[string]*ConversationElem `` /* 175-byte string literal not displayed */ }
type GroupAddMemberInfo ¶
type LocationElem ¶
type MessageRevoked ¶
type MessageRevoked struct { RevokerID string `mapstructure:"revokerID" json:"revokerID" validate:"required"` RevokerRole int32 `mapstructure:"revokerRole" json:"revokerRole" validate:"required"` ClientMsgID string `mapstructure:"clientMsgID" json:"clientMsgID" validate:"required"` RevokerNickname string `mapstructure:"revokerNickname" json:"revokerNickname"` SessionType int32 `mapstructure:"sessionType" json:"sessionType" validate:"required"` Seq uint32 `mapstructure:"seq" json:"seq" validate:"required"` }
type OANotificationElem ¶
type OANotificationElem struct { NotificationName string `mapstructure:"notificationName" json:"notificationName" validate:"required"` NotificationFaceURL string `mapstructure:"notificationFaceURL" json:"notificationFaceURL"` NotificationType int32 `mapstructure:"notificationType" json:"notificationType" validate:"required"` Text string `mapstructure:"text" json:"text" validate:"required"` Url string `mapstructure:"url" json:"url"` MixType int32 `mapstructure:"mixType" json:"mixType"` PictureElem *PictureElem `mapstructure:"pictureElem" json:"pictureElem"` SoundElem *SoundElem `mapstructure:"soundElem" json:"soundElem"` VideoElem *VideoElem `mapstructure:"videoElem" json:"videoElem"` FileElem *FileElem `mapstructure:"fileElem" json:"fileElem"` Ex string `mapstructure:"ex" json:"ex"` }
type PictureBaseInfo ¶
type PictureBaseInfo struct { UUID string `mapstructure:"uuid"` Type string `mapstructure:"type" validate:"required"` Size int64 `mapstructure:"size"` Width int32 `mapstructure:"width" validate:"required"` Height int32 `mapstructure:"height" validate:"required"` Url string `mapstructure:"url" validate:"required"` }
type PictureElem ¶
type PictureElem struct { SourcePath string `mapstructure:"sourcePath"` SourcePicture PictureBaseInfo `mapstructure:"sourcePicture" validate:"required"` BigPicture PictureBaseInfo `mapstructure:"bigPicture" validate:"required"` SnapshotPicture PictureBaseInfo `mapstructure:"snapshotPicture" validate:"required"` }
type RevokeElem ¶
type RevokeElem struct {
RevokeMsgClientID string `mapstructure:"revokeMsgClientID" validate:"required"`
}
type SendMsg ¶
type SendMsg struct { // SendID uniquely identifies the sender. SendID string `json:"sendID" binding:"required"` // GroupID is the identifier for the group, required if SessionType is 2 or 3. GroupID string `json:"groupID" binding:"required_if=SessionType 2|required_if=SessionType 3"` // SenderNickname is the nickname of the sender. SenderNickname string `json:"senderNickname"` // SenderFaceURL is the URL to the sender's avatar. SenderFaceURL string `json:"senderFaceURL"` // SenderPlatformID is an integer identifier for the sender's platform. SenderPlatformID int32 `json:"senderPlatformID"` // Content is the actual content of the message, required and excluded from Swagger documentation. Content map[string]any `json:"content" binding:"required" swaggerignore:"true"` // ContentType is an integer that represents the type of the content. ContentType int32 `json:"contentType" binding:"required"` // SessionType is an integer that represents the type of session for the message. SessionType int32 `json:"sessionType" binding:"required"` // IsOnlineOnly specifies if the message is only sent when the receiver is online. IsOnlineOnly bool `json:"isOnlineOnly"` // NotOfflinePush specifies if the message should not trigger offline push notifications. NotOfflinePush bool `json:"notOfflinePush"` // SendTime is a timestamp indicating when the message was sent. SendTime int64 `json:"sendTime"` // OfflinePushInfo contains information for offline push notifications. OfflinePushInfo *sdkws.OfflinePushInfo `json:"offlinePushInfo"` }
SendMsg defines the structure for sending messages with various metadata.
type SendMsgReq ¶
type SendMsgReq struct { // RecvID uniquely identifies the receiver and is required for one-on-one or notification chat types. RecvID string `json:"recvID" binding:"required_if" message:"recvID is required if sessionType is SingleChatType or NotificationChatType"` SendMsg }
SendMsgReq extends SendMsg with the requirement of RecvID when SessionType indicates a one-on-one or notification chat.
type SingleReturnResult ¶
type SingleReturnResult struct { // ServerMsgID is the message identifier on the server-side. ServerMsgID string `json:"serverMsgID"` // ClientMsgID is the message identifier on the client-side. ClientMsgID string `json:"clientMsgID"` // SendTime is the timestamp of when the message was sent. SendTime int64 `json:"sendTime"` // RecvID uniquely identifies the receiver of the message. RecvID string `json:"recvID"` }
SingleReturnResult encapsulates the result of a single message send attempt.
type VideoElem ¶
type VideoElem struct { VideoPath string `mapstructure:"videoPath"` VideoUUID string `mapstructure:"videoUUID"` VideoURL string `mapstructure:"videoUrl" validate:"required"` VideoType string `mapstructure:"videoType" validate:"required"` VideoSize int64 `mapstructure:"videoSize" validate:"required"` Duration int64 `mapstructure:"duration" validate:"required"` SnapshotPath string `mapstructure:"snapshotPath"` SnapshotUUID string `mapstructure:"snapshotUUID"` SnapshotSize int64 `mapstructure:"snapshotSize"` SnapshotURL string `mapstructure:"snapshotUrl" validate:"required"` SnapshotWidth int32 `mapstructure:"snapshotWidth" validate:"required"` SnapshotHeight int32 `mapstructure:"snapshotHeight" validate:"required"` }
Click to show internal directories.
Click to hide internal directories.