|
|
|
|
# The class cannot be named by Pascal or camel case.
|
|
|
|
|
# If it is not used, the corresponding structure will not be set,
|
|
|
|
|
# and it will not be read naturally.
|
|
|
|
|
serverversion: 1.0.3
|
|
|
|
|
#---------------Infrastructure configuration---------------------#
|
|
|
|
|
etcd:
|
|
|
|
|
etcdSchema: openIM
|
|
|
|
|
etcdAddr: [ 127.0.0.1:2379 ]
|
|
|
|
|
|
|
|
|
|
mysql:
|
|
|
|
|
dbMysqlAddress: [ 127.0.0.1:13306 ]
|
|
|
|
|
dbMysqlUserName: root
|
|
|
|
|
dbMysqlPassword: openIM
|
|
|
|
|
dbMysqlDatabaseName: openIM
|
|
|
|
|
dbTableName: eMsg
|
|
|
|
|
dbMsgTableNum: 1
|
|
|
|
|
dbMaxOpenConns: 20
|
|
|
|
|
dbMaxIdleConns: 10
|
|
|
|
|
dbMaxLifeTime: 120
|
|
|
|
|
|
|
|
|
|
mongo:
|
|
|
|
|
dbAddress: [ 127.0.0.1:37017 ]
|
|
|
|
|
dbDirect: false
|
|
|
|
|
dbTimeout: 10
|
|
|
|
|
dbDatabase: openIM
|
|
|
|
|
dbSource: admin
|
|
|
|
|
dbUserName:
|
|
|
|
|
dbPassword:
|
|
|
|
|
dbMaxPoolSize: 20
|
|
|
|
|
dbRetainChatRecords: 7
|
|
|
|
|
|
|
|
|
|
redis:
|
|
|
|
|
dbAddress: 127.0.0.1:16379
|
|
|
|
|
dbMaxIdle: 128
|
|
|
|
|
dbMaxActive: 0
|
|
|
|
|
dbIdleTimeout: 120
|
|
|
|
|
dbPassWord: openIM
|
|
|
|
|
|
|
|
|
|
kafka:
|
|
|
|
|
ws2mschat:
|
|
|
|
|
addr: [ 127.0.0.1:9092 ]
|
|
|
|
|
topic: "ws2ms_chat"
|
|
|
|
|
ms2pschat:
|
|
|
|
|
addr: [ 127.0.0.1:9092 ]
|
|
|
|
|
topic: "ms2ps_chat"
|
|
|
|
|
consumergroupid:
|
|
|
|
|
msgToMongo: mongo
|
|
|
|
|
msgToMySql: mysql
|
|
|
|
|
msgToPush: push
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#---------------Internal service configuration---------------------#
|
|
|
|
|
|
|
|
|
|
# The service ip default is empty,
|
|
|
|
|
# automatically obtain the machine's valid network card ip as the service ip,
|
|
|
|
|
# otherwise the configuration ip is preferred
|
|
|
|
|
serverip: 0.0.0.0
|
|
|
|
|
|
|
|
|
|
# endpoints 内部组件间访问的端点host名称,访问时,可以内部直接访问 host:port 来访问
|
|
|
|
|
endpoints:
|
|
|
|
|
api: openim_api
|
|
|
|
|
cmsapi: openim_cms_api
|
|
|
|
|
push: openim_push
|
|
|
|
|
msg_gateway: openim_msg_gateway
|
|
|
|
|
rpc_auth: openim_rpc_auth
|
|
|
|
|
rpc_friend: openim_rpc_friend
|
|
|
|
|
rpc_group: openim_rpc_group
|
|
|
|
|
rpc_msg: openim_rpc_msg
|
|
|
|
|
rpc_user: openim_rpc_user
|
|
|
|
|
rpc_statistic: openim_rpc_statistic
|
|
|
|
|
rpc_admin_cms: openim_rpc_admin_cms
|
|
|
|
|
rpc_message_cms: openim_rpc_admin_cms
|
|
|
|
|
|
|
|
|
|
api:
|
|
|
|
|
openImApiPort: [ 10000 ]
|
|
|
|
|
cmsapi:
|
|
|
|
|
openImCmsApiPort: [ 8000 ]
|
|
|
|
|
sdk:
|
|
|
|
|
openImSdkWsPort: [ 30000 ]
|
|
|
|
|
|
|
|
|
|
credential:
|
|
|
|
|
tencent:
|
|
|
|
|
appID: 1302656840
|
|
|
|
|
region: ap-chengdu
|
|
|
|
|
bucket: echat-1302656840
|
|
|
|
|
secretID: AKIDGNYVChzIQinu7QEgtNp0hnNgqcV8vZTC
|
|
|
|
|
secretKey: kz15vW83qM6dBUWIq681eBZA0c0vlIbe
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
rpcport:
|
|
|
|
|
openImUserPort: [ 10100 ]
|
|
|
|
|
openImFriendPort: [ 10200 ]
|
|
|
|
|
openImOfflineMessagePort: [ 10300 ]
|
|
|
|
|
openImOnlineRelayPort: [ 10400 ]
|
|
|
|
|
openImGroupPort: [ 10500 ]
|
|
|
|
|
openImAuthPort: [ 10600 ]
|
|
|
|
|
openImPushPort: [ 10700 ]
|
|
|
|
|
openImStatisticsPort: [ 10800 ]
|
|
|
|
|
openImMessageCmsPort: [ 10900 ]
|
|
|
|
|
openImAdminCmsPort: [ 11000 ]
|
|
|
|
|
c2c:
|
|
|
|
|
callbackBeforeSendMsg:
|
|
|
|
|
switch: false
|
|
|
|
|
timeoutStrategy: 1 #1:send
|
|
|
|
|
callbackAfterSendMsg:
|
|
|
|
|
switch: false
|
|
|
|
|
state:
|
|
|
|
|
stateChange:
|
|
|
|
|
switch: false
|
|
|
|
|
|
|
|
|
|
rpcregistername:
|
|
|
|
|
openImUserName: User
|
|
|
|
|
openImFriendName: Friend
|
|
|
|
|
openImOfflineMessageName: OfflineMessage
|
|
|
|
|
openImPushName: Push
|
|
|
|
|
openImOnlineMessageRelayName: OnlineMessageRelay
|
|
|
|
|
openImGroupName: Group
|
|
|
|
|
openImAuthName: Auth
|
|
|
|
|
OpenImStatisticsName: Statistics
|
|
|
|
|
OpenImMessageCMSName: MessageCMS
|
|
|
|
|
openImAdminCMSName: AdminCMS
|
|
|
|
|
|
|
|
|
|
log:
|
|
|
|
|
storageLocation: ../logs/
|
|
|
|
|
rotationTime: 24
|
|
|
|
|
remainRotationCount: 5
|
|
|
|
|
remainLogLevel: 6
|
|
|
|
|
elasticSearchSwitch: false
|
|
|
|
|
elasticSearchAddr: [ 127.0.0.1:9201 ]
|
|
|
|
|
elasticSearchUser: ""
|
|
|
|
|
elasticSearchPassword: ""
|
|
|
|
|
|
|
|
|
|
modulename:
|
|
|
|
|
longConnSvrName: msg_gateway
|
|
|
|
|
msgTransferName: msg_transfer
|
|
|
|
|
pushName: push
|
|
|
|
|
|
|
|
|
|
longconnsvr:
|
|
|
|
|
openImWsPort: [ 17778 ]
|
|
|
|
|
websocketMaxConnNum: 10000
|
|
|
|
|
websocketMaxMsgLen: 4096
|
|
|
|
|
websocketTimeOut: 10
|
|
|
|
|
|
|
|
|
|
push:
|
|
|
|
|
tpns:
|
|
|
|
|
ios:
|
|
|
|
|
accessID: 1600018281
|
|
|
|
|
secretKey: 3cd68a77a95b89e5089a1aca523f318f
|
|
|
|
|
android:
|
|
|
|
|
accessID: 111
|
|
|
|
|
secretKey: 111
|
|
|
|
|
jpns:
|
|
|
|
|
appKey: cf47465a368f24c659608e7e
|
|
|
|
|
masterSecret: 02204efe3f3832947a236ee5
|
|
|
|
|
pushUrl: "https://api.jpush.cn/v3/push"
|
|
|
|
|
pushIntent: "intent:#Intent;component=io.openim.app.enterprisechat/io.openim.app.enterprisechat.MainActivity;end"
|
|
|
|
|
manager:
|
|
|
|
|
appManagerUid: [ "openIM123456","openIM654321", "openIM333", "openIMAdmin"]
|
|
|
|
|
secrets: [ "openIM1","openIM2", "openIM333", "openIMAdmin"]
|
|
|
|
|
|
|
|
|
|
secret: tuoyun
|
|
|
|
|
|
|
|
|
|
multiloginpolicy: 1
|
|
|
|
|
|
|
|
|
|
#token config
|
|
|
|
|
tokenpolicy:
|
|
|
|
|
accessSecret: "open_im_server"
|
|
|
|
|
# Token effective time day as a unit
|
|
|
|
|
accessExpire: 7
|
|
|
|
|
|
|
|
|
|
messagecallback:
|
|
|
|
|
callbackUrl: "http://www.xxx.com/msg/judge"
|
|
|
|
|
#TimeOut use second as unit
|
|
|
|
|
callbackTimeOut: 10
|
|
|
|
|
# c2c:
|
|
|
|
|
# callbackBeforeSendMsg:
|
|
|
|
|
# switch: false
|
|
|
|
|
# timeoutStrategy: 1 #1:send
|
|
|
|
|
# callbackAfterSendMsg:
|
|
|
|
|
# switch: false
|
|
|
|
|
# state:
|
|
|
|
|
# stateChange:
|
|
|
|
|
# switch: false
|
|
|
|
|
|
|
|
|
|
iospush:
|
|
|
|
|
pushSound: "xxx"
|
|
|
|
|
badgeCount: true
|
|
|
|
|
|
|
|
|
|
notification:
|
|
|
|
|
groupCreated:
|
|
|
|
|
conversation:
|
|
|
|
|
reliabilityLevel: 3
|
|
|
|
|
unreadCount: true
|
|
|
|
|
offlinePush:
|
|
|
|
|
switch: true
|
|
|
|
|
title: "create group title" # xx create the group
|
|
|
|
|
desc: "create group desc"
|
|
|
|
|
ext: "create group ext"
|
|
|
|
|
defaultTips:
|
|
|
|
|
tips: "create the group" # xx create the group
|
|
|
|
|
|
|
|
|
|
groupInfoSet:
|
|
|
|
|
conversation:
|
|
|
|
|
reliabilityLevel: 3
|
|
|
|
|
unreadCount: true
|
|
|
|
|
offlinePush:
|
|
|
|
|
switch: false
|
|
|
|
|
title: "groupInfoSet title"
|
|
|
|
|
desc: "groupInfoSet desc"
|
|
|
|
|
ext: "groupInfoSet ext"
|
|
|
|
|
defaultTips:
|
|
|
|
|
tips: "modified the group profile" # group info changed by xx
|
|
|
|
|
|
|
|
|
|
joinGroupApplication:
|
|
|
|
|
conversation:
|
|
|
|
|
reliabilityLevel: 2
|
|
|
|
|
unreadCount: false
|
|
|
|
|
offlinePush:
|
|
|
|
|
switch: false
|
|
|
|
|
title: "joinGroupApplication title"
|
|
|
|
|
desc: "joinGroupApplication desc"
|
|
|
|
|
ext: "joinGroupApplication ext"
|
|
|
|
|
defaultTips:
|
|
|
|
|
tips: "apply to join the group" # group info changed by xx
|
|
|
|
|
|
|
|
|
|
memberQuit:
|
|
|
|
|
conversation:
|
|
|
|
|
reliabilityLevel: 3
|
|
|
|
|
unreadCount: true
|
|
|
|
|
offlinePush:
|
|
|
|
|
switch: false
|
|
|
|
|
title: "memberQuit title"
|
|
|
|
|
desc: "memberQuit desc"
|
|
|
|
|
ext: "memberQuit ext"
|
|
|
|
|
defaultTips:
|
|
|
|
|
tips: "quit group chat" # group info changed by xx
|
|
|
|
|
|
|
|
|
|
groupApplicationAccepted:
|
|
|
|
|
conversation:
|
|
|
|
|
reliabilityLevel: 2
|
|
|
|
|
unreadCount: true
|
|
|
|
|
offlinePush:
|
|
|
|
|
switch: false
|
|
|
|
|
title: "groupApplicationAccepted title"
|
|
|
|
|
desc: "groupApplicationAccepted desc"
|
|
|
|
|
ext: "groupApplicationAccepted ext"
|
|
|
|
|
defaultTips:
|
|
|
|
|
tips: "was allowed to join the group" # group info changed by xx
|
|
|
|
|
|
|
|
|
|
groupApplicationRejected:
|
|
|
|
|
conversation:
|
|
|
|
|
reliabilityLevel: 2
|
|
|
|
|
unreadCount: false
|
|
|
|
|
offlinePush:
|
|
|
|
|
switch: false
|
|
|
|
|
title: " title"
|
|
|
|
|
desc: " desc"
|
|
|
|
|
ext: " ext"
|
|
|
|
|
defaultTips:
|
|
|
|
|
tips: "was rejected into the group" # group info changed by xx
|
|
|
|
|
|
|
|
|
|
groupOwnerTransferred:
|
|
|
|
|
conversation:
|
|
|
|
|
reliabilityLevel: 3
|
|
|
|
|
unreadCount: true
|
|
|
|
|
offlinePush:
|
|
|
|
|
switch: false
|
|
|
|
|
title: "groupOwnerTransferred title"
|
|
|
|
|
desc: "groupOwnerTransferred desc"
|
|
|
|
|
ext: "groupOwnerTransferred ext"
|
|
|
|
|
defaultTips:
|
|
|
|
|
tips: "become a new group owner" # group info changed by xx
|
|
|
|
|
|
|
|
|
|
memberKicked:
|
|
|
|
|
conversation:
|
|
|
|
|
reliabilityLevel: 3
|
|
|
|
|
unreadCount: true
|
|
|
|
|
offlinePush:
|
|
|
|
|
switch: false
|
|
|
|
|
title: "memberKicked title"
|
|
|
|
|
desc: "memberKicked desc"
|
|
|
|
|
ext: "memberKicked ext"
|
|
|
|
|
defaultTips:
|
|
|
|
|
tips: "was kicked out of the group" # group info changed by xx
|
|
|
|
|
|
|
|
|
|
memberInvited:
|
|
|
|
|
conversation:
|
|
|
|
|
reliabilityLevel: 3
|
|
|
|
|
unreadCount: true
|
|
|
|
|
offlinePush:
|
|
|
|
|
switch: false
|
|
|
|
|
title: "memberInvited title"
|
|
|
|
|
desc: "memberInvited desc"
|
|
|
|
|
ext: "memberInvited ext"
|
|
|
|
|
defaultTips:
|
|
|
|
|
tips: "was invited into the group" # group info changed by xx
|
|
|
|
|
|
|
|
|
|
memberEnter:
|
|
|
|
|
conversation:
|
|
|
|
|
reliabilityLevel: 3
|
|
|
|
|
unreadCount: true
|
|
|
|
|
offlinePush:
|
|
|
|
|
switch: false
|
|
|
|
|
title: "memberEnter title"
|
|
|
|
|
desc: "memberEnter desc"
|
|
|
|
|
ext: "memberEnter ext"
|
|
|
|
|
defaultTips:
|
|
|
|
|
tips: "entered the group" # group info changed by xx
|
|
|
|
|
|
|
|
|
|
#############################friend#################################
|
|
|
|
|
|
|
|
|
|
friendApplicationAdded:
|
|
|
|
|
conversation:
|
|
|
|
|
reliabilityLevel: 2
|
|
|
|
|
unreadCount: false
|
|
|
|
|
offlinePush:
|
|
|
|
|
switch: true
|
|
|
|
|
title: "Somebody applies to add you as a friend"
|
|
|
|
|
desc: "Somebody applies to add you as a friend"
|
|
|
|
|
ext: "Somebody applies to add you as a friend"
|
|
|
|
|
defaultTips:
|
|
|
|
|
tips: "I applies to add you as a friend" #
|
|
|
|
|
|
|
|
|
|
friendApplicationApproved:
|
|
|
|
|
conversation:
|
|
|
|
|
reliabilityLevel: 2
|
|
|
|
|
unreadCount: false
|
|
|
|
|
offlinePush:
|
|
|
|
|
switch: true
|
|
|
|
|
title: "Someone applies to add your friend application"
|
|
|
|
|
desc: "Someone applies to add your friend application"
|
|
|
|
|
ext: "Someone applies to add your friend application"
|
|
|
|
|
defaultTips:
|
|
|
|
|
tips: "I applies to add your friend application" #
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
friendApplicationRejected:
|
|
|
|
|
conversation:
|
|
|
|
|
reliabilityLevel: 2
|
|
|
|
|
unreadCount: false
|
|
|
|
|
offlinePush:
|
|
|
|
|
switch: true
|
|
|
|
|
title: "Someone rejected your friend application"
|
|
|
|
|
desc: "Someone rejected your friend application"
|
|
|
|
|
ext: "Someone rejected your friend application"
|
|
|
|
|
defaultTips:
|
|
|
|
|
tips: "I rejected your friend application" #
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
friendAdded:
|
|
|
|
|
conversation:
|
|
|
|
|
reliabilityLevel: 3
|
|
|
|
|
unreadCount: true
|
|
|
|
|
offlinePush:
|
|
|
|
|
switch: true
|
|
|
|
|
title: "We have become friends"
|
|
|
|
|
desc: "We have become friends"
|
|
|
|
|
ext: "We have become friends"
|
|
|
|
|
defaultTips:
|
|
|
|
|
tips: "We have become friends" #
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
friendDeleted:
|
|
|
|
|
conversation:
|
|
|
|
|
reliabilityLevel: 2
|
|
|
|
|
unreadCount: false
|
|
|
|
|
offlinePush:
|
|
|
|
|
switch: true
|
|
|
|
|
title: "Deleted a friend"
|
|
|
|
|
desc: "Deleted a friend"
|
|
|
|
|
ext: "Deleted a friend"
|
|
|
|
|
defaultTips:
|
|
|
|
|
tips: "Deleted a friend" #
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
friendRemarkSet:
|
|
|
|
|
conversation:
|
|
|
|
|
reliabilityLevel: 2
|
|
|
|
|
unreadCount: false
|
|
|
|
|
offlinePush:
|
|
|
|
|
switch: true
|
|
|
|
|
title: "Your friend's profile has been changed"
|
|
|
|
|
desc: "Your friend's profile has been changed"
|
|
|
|
|
ext: "Your friend's profile has been changed"
|
|
|
|
|
defaultTips:
|
|
|
|
|
tips: "Your friend's profile has been changed" #
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
blackAdded:
|
|
|
|
|
conversation:
|
|
|
|
|
reliabilityLevel: 2
|
|
|
|
|
unreadCount: false
|
|
|
|
|
offlinePush:
|
|
|
|
|
switch: true
|
|
|
|
|
title: "Blocked a user"
|
|
|
|
|
desc: "Blocked a user"
|
|
|
|
|
ext: "Blocked a user"
|
|
|
|
|
defaultTips:
|
|
|
|
|
tips: "Blocked a user" #
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
blackDeleted:
|
|
|
|
|
conversation:
|
|
|
|
|
reliabilityLevel: 2
|
|
|
|
|
unreadCount: false
|
|
|
|
|
offlinePush:
|
|
|
|
|
switch: true
|
|
|
|
|
title: "Remove a blocked user"
|
|
|
|
|
desc: "Remove a blocked user"
|
|
|
|
|
ext: "Remove a blocked user"
|
|
|
|
|
defaultTips:
|
|
|
|
|
tips: "Remove a blocked user"
|
|
|
|
|
|
|
|
|
|
#####################user#########################
|
|
|
|
|
userInfoUpdated:
|
|
|
|
|
conversation:
|
|
|
|
|
reliabilityLevel: 2
|
|
|
|
|
unreadCount: false
|
|
|
|
|
offlinePush:
|
|
|
|
|
switch: true
|
|
|
|
|
title: "Remove a blocked user"
|
|
|
|
|
desc: "Remove a blocked user"
|
|
|
|
|
ext: "Remove a blocked user"
|
|
|
|
|
defaultTips:
|
|
|
|
|
tips: "Remove a blocked user"
|
|
|
|
|
|
|
|
|
|
#####################conversation#########################
|
|
|
|
|
conversationOptUpdate:
|
|
|
|
|
conversation:
|
|
|
|
|
reliabilityLevel: 2
|
|
|
|
|
unreadCount: false
|
|
|
|
|
offlinePush:
|
|
|
|
|
switch: true
|
|
|
|
|
title: "conversation opt update"
|
|
|
|
|
desc: "conversation opt update"
|
|
|
|
|
ext: "conversation opt update"
|
|
|
|
|
defaultTips:
|
|
|
|
|
tips: "conversation opt update"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#---------------demo configuration---------------------#
|
|
|
|
|
#The following configuration items are applied to openIM Demo configuration
|
|
|
|
|
demoswitch: true
|
|
|
|
|
demo:
|
|
|
|
|
openImDemoPort: [ 42233 ]
|
|
|
|
|
alismsverify:
|
|
|
|
|
accessKeyId: LTAI5tJPkn4HuuePdiLdGqe71
|
|
|
|
|
accessKeySecret: 4n9OJ7ZCVN1U6KeHDAtOyNeVZcjOuV1
|
|
|
|
|
signName: OpenIM Corporation
|
|
|
|
|
verificationCodeTemplateCode: SMS_2268101641
|
|
|
|
|
superCode: 666666
|
|
|
|
|
# second
|
|
|
|
|
codeTTL: 60
|
|
|
|
|
mail:
|
|
|
|
|
title: "openIM"
|
|
|
|
|
senderMail: "1765567899@qq.com"
|
|
|
|
|
senderAuthorizationCode: "1gxyausfoevlzbfag"
|
|
|
|
|
smtpAddr: "smtp.qq.com"
|
|
|
|
|
smtpPort: 25
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|