You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
364 lines
10 KiB
364 lines
10 KiB
// Copyright © 2023 OpenIM. All rights reserved.
|
|
//
|
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
// you may not use this file except in compliance with the License.
|
|
// You may obtain a copy of the License at
|
|
//
|
|
// http://www.apache.org/licenses/LICENSE-2.0
|
|
//
|
|
// Unless required by applicable law or agreed to in writing, software
|
|
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
// See the License for the specific language governing permissions and
|
|
// limitations under the License.
|
|
|
|
package constant
|
|
|
|
const (
|
|
|
|
///ContentType
|
|
//UserRelated.
|
|
ContentTypeBegin = 100
|
|
Text = 101
|
|
Picture = 102
|
|
Voice = 103
|
|
Video = 104
|
|
File = 105
|
|
AtText = 106
|
|
Merger = 107
|
|
Card = 108
|
|
Location = 109
|
|
Custom = 110
|
|
Revoke = 111
|
|
Typing = 113
|
|
Quote = 114
|
|
|
|
AdvancedText = 117
|
|
|
|
CustomNotTriggerConversation = 119
|
|
CustomOnlineOnly = 120
|
|
ReactionMessageModifier = 121
|
|
ReactionMessageDeleter = 122
|
|
|
|
Common = 200
|
|
GroupMsg = 201
|
|
SignalMsg = 202
|
|
CustomNotification = 203
|
|
|
|
// SysRelated.
|
|
NotificationBegin = 1000
|
|
|
|
FriendApplicationApprovedNotification = 1201 // add_friend_response
|
|
FriendApplicationRejectedNotification = 1202 // add_friend_response
|
|
FriendApplicationNotification = 1203 // add_friend
|
|
FriendAddedNotification = 1204
|
|
FriendDeletedNotification = 1205 // delete_friend
|
|
FriendRemarkSetNotification = 1206 // set_friend_remark?
|
|
BlackAddedNotification = 1207 // add_black
|
|
BlackDeletedNotification = 1208 // remove_black
|
|
FriendInfoUpdatedNotification = 1209
|
|
|
|
ConversationChangeNotification = 1300 // change conversation opt
|
|
|
|
UserNotificationBegin = 1301
|
|
UserInfoUpdatedNotification = 1303 // SetSelfInfoTip = 204
|
|
UserNotificationEnd = 1399
|
|
OANotification = 1400
|
|
|
|
GroupNotificationBegin = 1500
|
|
|
|
GroupCreatedNotification = 1501
|
|
GroupInfoSetNotification = 1502
|
|
JoinGroupApplicationNotification = 1503
|
|
MemberQuitNotification = 1504
|
|
GroupApplicationAcceptedNotification = 1505
|
|
GroupApplicationRejectedNotification = 1506
|
|
GroupOwnerTransferredNotification = 1507
|
|
MemberKickedNotification = 1508
|
|
MemberInvitedNotification = 1509
|
|
MemberEnterNotification = 1510
|
|
GroupDismissedNotification = 1511
|
|
GroupMemberMutedNotification = 1512
|
|
GroupMemberCancelMutedNotification = 1513
|
|
GroupMutedNotification = 1514
|
|
GroupCancelMutedNotification = 1515
|
|
GroupMemberInfoSetNotification = 1516
|
|
GroupMemberSetToAdminNotification = 1517
|
|
GroupMemberSetToOrdinaryUserNotification = 1518
|
|
GroupInfoSetAnnouncementNotification = 1519
|
|
GroupInfoSetNameNotification = 1520
|
|
|
|
SignalingNotificationBegin = 1600
|
|
SignalingNotification = 1601
|
|
SignalingNotificationEnd = 1649
|
|
|
|
SuperGroupNotificationBegin = 1650
|
|
SuperGroupUpdateNotification = 1651
|
|
MsgDeleteNotification = 1652
|
|
SuperGroupNotificationEnd = 1699
|
|
|
|
ConversationPrivateChatNotification = 1701
|
|
ConversationUnreadNotification = 1702
|
|
|
|
MsgRevokeNotification = 2101
|
|
|
|
BusinessNotificationBegin = 2000
|
|
BusinessNotification = 2001
|
|
BusinessNotificationEnd = 2099
|
|
|
|
ClearConversationNotification = 2101
|
|
DeleteMsgsNotification = 2102
|
|
|
|
HasReadReceipt = 2200
|
|
|
|
NotificationEnd = 5000
|
|
|
|
// status.
|
|
MsgNormal = 1
|
|
MsgDeleted = 4
|
|
|
|
// MsgFrom.
|
|
UserMsgType = 100
|
|
SysMsgType = 200
|
|
|
|
// SessionType.
|
|
SingleChatType = 1
|
|
GroupChatType = 2
|
|
SuperGroupChatType = 3
|
|
NotificationChatType = 4
|
|
// token.
|
|
NormalToken = 0
|
|
InValidToken = 1
|
|
KickedToken = 2
|
|
ExpiredToken = 3
|
|
|
|
// MultiTerminalLogin.
|
|
DefalutNotKick = 0
|
|
// Full-end login, but the same end is mutually exclusive.
|
|
AllLoginButSameTermKick = 1
|
|
// Only one of the endpoints can log in.
|
|
SingleTerminalLogin = 2
|
|
// The web side can be online at the same time, and the other side can only log in at one end.
|
|
WebAndOther = 3
|
|
// The PC side is mutually exclusive, and the mobile side is mutually exclusive, but the web side can be online at
|
|
// the same time.
|
|
PcMobileAndWeb = 4
|
|
// The PC terminal can be online at the same time,but other terminal only one of the endpoints can login.
|
|
PCAndOther = 5
|
|
|
|
OnlineStatus = "online"
|
|
OfflineStatus = "offline"
|
|
Registered = "registered"
|
|
UnRegistered = "unregistered"
|
|
|
|
// MsgReceiveOpt.
|
|
ReceiveMessage = 0
|
|
NotReceiveMessage = 1
|
|
ReceiveNotNotifyMessage = 2
|
|
|
|
// OptionsKey.
|
|
IsHistory = "history"
|
|
IsPersistent = "persistent"
|
|
IsOfflinePush = "offlinePush"
|
|
IsUnreadCount = "unreadCount"
|
|
IsConversationUpdate = "conversationUpdate"
|
|
IsSenderSync = "senderSync"
|
|
IsNotPrivate = "notPrivate"
|
|
IsSenderConversationUpdate = "senderConversationUpdate"
|
|
IsSenderNotificationPush = "senderNotificationPush"
|
|
IsReactionFromCache = "reactionFromCache"
|
|
IsNotNotification = "isNotNotification"
|
|
IsSendMsg = "isSendMsg"
|
|
|
|
// GroupStatus.
|
|
GroupOk = 0
|
|
GroupBanChat = 1
|
|
GroupStatusDismissed = 2
|
|
GroupStatusMuted = 3
|
|
|
|
// GroupType.
|
|
NormalGroup = 0
|
|
SuperGroup = 1
|
|
WorkingGroup = 2
|
|
|
|
GroupBaned = 3
|
|
GroupBanPrivateChat = 4
|
|
|
|
// UserJoinGroupSource.
|
|
JoinByAdmin = 1
|
|
|
|
JoinByInvitation = 2
|
|
JoinBySearch = 3
|
|
JoinByQRCode = 4
|
|
|
|
// Minio.
|
|
MinioDurationTimes = 3600
|
|
// Aws.
|
|
AwsDurationTimes = 3600
|
|
|
|
// callbackCommand.
|
|
CallbackBeforeSendSingleMsgCommand = "callbackBeforeSendSingleMsgCommand"
|
|
CallbackAfterSendSingleMsgCommand = "callbackAfterSendSingleMsgCommand"
|
|
CallbackBeforeSendGroupMsgCommand = "callbackBeforeSendGroupMsgCommand"
|
|
CallbackAfterSendGroupMsgCommand = "callbackAfterSendGroupMsgCommand"
|
|
CallbackMsgModifyCommand = "callbackMsgModifyCommand"
|
|
CallbackUserOnlineCommand = "callbackUserOnlineCommand"
|
|
CallbackUserOfflineCommand = "callbackUserOfflineCommand"
|
|
CallbackUserKickOffCommand = "callbackUserKickOffCommand"
|
|
CallbackOfflinePushCommand = "callbackOfflinePushCommand"
|
|
CallbackOnlinePushCommand = "callbackOnlinePushCommand"
|
|
CallbackSuperGroupOnlinePushCommand = "callbackSuperGroupOnlinePushCommand"
|
|
CallbackBeforeAddFriendCommand = "callbackBeforeAddFriendCommand"
|
|
CallbackBeforeCreateGroupCommand = "callbackBeforeCreateGroupCommand"
|
|
CallbackBeforeMemberJoinGroupCommand = "callbackBeforeMemberJoinGroupCommand"
|
|
CallbackBeforeSetGroupMemberInfoCommand = "CallbackBeforeSetGroupMemberInfoCommand"
|
|
CallbackBeforeSetMessageReactionExtensionCommand = "callbackBeforeSetMessageReactionExtensionCommand"
|
|
CallbackBeforeDeleteMessageReactionExtensionsCommand = "callbackBeforeDeleteMessageReactionExtensionsCommand"
|
|
CallbackGetMessageListReactionExtensionsCommand = "callbackGetMessageListReactionExtensionsCommand"
|
|
CallbackAddMessageListReactionExtensionsCommand = "callbackAddMessageListReactionExtensionsCommand"
|
|
|
|
// callback actionCode.
|
|
ActionAllow = 0
|
|
ActionForbidden = 1
|
|
// callback callbackHandleCode.
|
|
CallbackHandleSuccess = 0
|
|
CallbackHandleFailed = 1
|
|
|
|
// minioUpload.
|
|
OtherType = 1
|
|
VideoType = 2
|
|
ImageType = 3
|
|
|
|
// sendMsgStaus.
|
|
MsgStatusNotExist = 0
|
|
MsgIsSending = 1
|
|
MsgSendSuccessed = 2
|
|
MsgSendFailed = 3
|
|
)
|
|
|
|
const (
|
|
WriteDiffusion = 0
|
|
ReadDiffusion = 1
|
|
)
|
|
|
|
const (
|
|
UnreliableNotification = 1
|
|
ReliableNotificationNoMsg = 2
|
|
ReliableNotificationMsg = 3
|
|
)
|
|
|
|
const (
|
|
AtAllString = "AtAllTag"
|
|
AtNormal = 0
|
|
AtMe = 1
|
|
AtAll = 2
|
|
AtAllAtMe = 3
|
|
GroupNotification = 4
|
|
)
|
|
|
|
var ContentType2PushContent = map[int64]string{
|
|
Picture: "[PICTURE]",
|
|
Voice: "[VOICE]",
|
|
Video: "[VIDEO]",
|
|
File: "[File]",
|
|
Text: "[TEXT]",
|
|
AtText: "[@TEXT]",
|
|
GroupMsg: "[GROUPMSG]]",
|
|
Common: "[NEWMSG]",
|
|
SignalMsg: "[SIGNALINVITE]",
|
|
}
|
|
|
|
const (
|
|
FieldRecvMsgOpt = 1
|
|
FieldIsPinned = 2
|
|
FieldAttachedInfo = 3
|
|
FieldIsPrivateChat = 4
|
|
FieldGroupAtType = 5
|
|
FieldEx = 7
|
|
FieldUnread = 8
|
|
FieldBurnDuration = 9
|
|
FieldHasReadSeq = 10
|
|
)
|
|
|
|
const (
|
|
AppOrdinaryUsers = 1
|
|
AppAdmin = 2
|
|
|
|
GroupOwner = 100
|
|
GroupAdmin = 60
|
|
GroupOrdinaryUsers = 20
|
|
|
|
GroupResponseAgree = 1
|
|
GroupResponseRefuse = -1
|
|
|
|
FriendResponseNotHandle = 0
|
|
FriendResponseAgree = 1
|
|
FriendResponseRefuse = -1
|
|
|
|
Male = 1
|
|
Female = 2
|
|
)
|
|
|
|
const (
|
|
OperationID = "operationID"
|
|
OpUserID = "opUserID"
|
|
ConnID = "connID"
|
|
OpUserPlatform = "platform"
|
|
Token = "token"
|
|
RpcCustomHeader = "customHeader" // rpc中间件自定义ctx参数
|
|
CheckKey = "CheckKey"
|
|
TriggerID = "triggerID"
|
|
RemoteAddr = "remoteAddr"
|
|
)
|
|
|
|
const (
|
|
BecomeFriendByImport = 1 // 管理员导入
|
|
BecomeFriendByApply = 2 // 申请添加
|
|
)
|
|
|
|
const (
|
|
ApplyNeedVerificationInviteDirectly = 0 // 申请需要同意 邀请直接进
|
|
AllNeedVerification = 1 // 所有人进群需要验证,除了群主管理员邀请进群
|
|
Directly = 2 // 直接进群
|
|
)
|
|
|
|
const (
|
|
GroupRPCRecvSize = 30
|
|
GroupRPCSendSize = 30
|
|
)
|
|
|
|
const FriendAcceptTip = "You have successfully become friends, so start chatting"
|
|
|
|
func GroupIsBanChat(status int32) bool {
|
|
if status != GroupStatusMuted {
|
|
return false
|
|
}
|
|
return true
|
|
}
|
|
|
|
func GroupIsBanPrivateChat(status int32) bool {
|
|
if status != GroupBanPrivateChat {
|
|
return false
|
|
}
|
|
return true
|
|
}
|
|
|
|
const LogFileName = "OpenIM.log"
|
|
|
|
const LocalHost = "0.0.0.0"
|
|
|
|
// flag parse.
|
|
const (
|
|
FlagPort = "port"
|
|
FlagWsPort = "ws_port"
|
|
|
|
FlagPrometheusPort = "prometheus_port"
|
|
FlagConf = "config_folder_path"
|
|
)
|
|
|
|
const OpenIMCommonConfigKey = "OpenIMServerConfig"
|
|
|
|
const CallbackCommand = "command"
|
|
|
|
const BatchNum = 100
|