|
|
|
|
# The class cannot be named by Pascal or camel case.
|
|
|
|
|
# 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: 2.3.1
|
|
|
|
|
#---------------Infrastructure configuration---------------------#
|
|
|
|
|
etcd:
|
|
|
|
|
etcdSchema: openim #默认即可
|
|
|
|
|
etcdAddr: [ 127.0.0.1:2379 ] #单机部署时,默认即可
|
|
|
|
|
|
|
|
|
|
k8sMod: false #开启k8s模式 使用pod里面环境变量请求services调用服务 而并非etcd
|
|
|
|
|
|
|
|
|
|
mysql:
|
|
|
|
|
dbMysqlAddress: [ 127.0.0.1:13306 ] #mysql地址 目前仅支持单机,默认即可
|
|
|
|
|
dbMysqlUserName: root #mysql用户名,建议修改
|
|
|
|
|
dbMysqlPassword: openIM # mysql密码,建议修改
|
|
|
|
|
dbMysqlDatabaseName: openIM_v2 #默认即可
|
|
|
|
|
dbTableName: eMsg #默认即可
|
|
|
|
|
dbMsgTableNum: 1
|
|
|
|
|
dbMaxOpenConns: 100
|
|
|
|
|
dbMaxIdleConns: 10
|
|
|
|
|
dbMaxLifeTime: 5
|
|
|
|
|
|
|
|
|
|
mongo:
|
|
|
|
|
dbUri: ""#当dbUri值不为空则直接使用该值
|
|
|
|
|
dbAddress: 127.0.0.1:37017 #单机时为mongo地址,使用分片集群时,为mongos地址 默认即可
|
|
|
|
|
dbDirect: false
|
|
|
|
|
dbTimeout: 60
|
|
|
|
|
dbDatabase: openIM #mongo db 默认即可
|
|
|
|
|
dbSource: admin
|
|
|
|
|
dbUserName: #mongo用户名,建议先不设置
|
|
|
|
|
dbPassword: #mongo密码,建议先不设置
|
|
|
|
|
dbMaxPoolSize: 100
|
|
|
|
|
dbRetainChatRecords: 3650 #mongo保存离线消息时间(天),根据需求修改
|
|
|
|
|
chatRecordsClearTime: "* * * * *" # 每天凌晨3点清除消息,该配置和linux定时任务一样, 清理操作建议设置在用户活跃少的时候 # 0 3 * * *
|
|
|
|
|
|
|
|
|
|
redis:
|
|
|
|
|
dbAddress: [ 127.0.0.1:16379 ] #redis地址 单机时,填写一个地址即可,使用redis集群时候,填写集群中多个节点地址(主从地址都可以填写,增加容灾能力),默认即可
|
|
|
|
|
dbMaxIdle: 128
|
|
|
|
|
dbMaxActive: 0
|
|
|
|
|
dbIdleTimeout: 120
|
|
|
|
|
dbUserName: #only redis version 6.0+ need username
|
|
|
|
|
dbPassWord: openIM #redis密码 建议修改
|
|
|
|
|
enableCluster: false #如果外部redis以集群方式启动,需要打开此开关
|
|
|
|
|
|
|
|
|
|
kafka:
|
|
|
|
|
ws2mschat:
|
|
|
|
|
addr: [ 127.0.0.1:9092 ] #kafka配置,默认即可
|
|
|
|
|
topic: "ws2ms_chat" #用于mongo和mysql保存消息
|
|
|
|
|
# ws2mschatoffline:
|
|
|
|
|
# addr: [ 127.0.0.1:9092 ] #kafka配置,默认即可
|
|
|
|
|
# topic: "ws2ms_chat_offline" #原为离线用户消息处理,目前暂时弃用
|
|
|
|
|
msgtomongo:
|
|
|
|
|
addr: [ 127.0.0.1:9092 ] #kafka配置,默认即可
|
|
|
|
|
topic: "msg_to_mongo"
|
|
|
|
|
ms2pschat:
|
|
|
|
|
addr: [ 127.0.0.1:9092 ] #kafka配置,默认即可
|
|
|
|
|
topic: "ms2ps_chat" #消息push
|
|
|
|
|
consumergroupid:
|
|
|
|
|
msgToTransfer: mongo
|
|
|
|
|
msgToMongo: mongo_ex
|
|
|
|
|
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
|
|
|
|
|
#如果是单机模式,用0.0.0.0或者不填,默认即可
|
|
|
|
|
serverip: 0.0.0.0
|
|
|
|
|
|
|
|
|
|
#作为rpc时,注册到etcd的地址,单机默认即可,如果是集群部署,需要修改(具体使用内网地址还是外网地址,要依情况而定,目的是api/gateway能访问到)
|
|
|
|
|
rpcRegisterIP:
|
|
|
|
|
#默认即可
|
|
|
|
|
listenIP: 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
|
|
|
|
|
rpc_office: openim_rpc_office
|
|
|
|
|
|
|
|
|
|
api:
|
|
|
|
|
openImApiPort: [ 10002 ] #api服务端口,默认即可,需要开放此端口或做nginx转发
|
|
|
|
|
listenIP: 0.0.0.0
|
|
|
|
|
cmsapi:
|
|
|
|
|
openImCmsApiPort: [ 10006 ] #管理后台api服务端口,默认即可,需要开放此端口或做nginx转发
|
|
|
|
|
listenIP: 0.0.0.0
|
|
|
|
|
sdk:
|
|
|
|
|
openImSdkWsPort: [ 10003 ] #jssdk服务端口,默认即可,项目中使用jssdk才需开放此端口或做nginx转发
|
|
|
|
|
dataDir: [ ../db/sdk/ ]
|
|
|
|
|
openImWsAddress: ws://127.0.0.1:10001
|
|
|
|
|
openImApiAddress: http://127.0.0.1:10002
|
|
|
|
|
|
|
|
|
|
#对象存储服务,以下配置二选一,目前支持两种,腾讯云和minio,二者配置好其中一种即可(如果使用minio参考https://doc.rentsoft.cn/#/qa/minio搭建minio服务器)
|
|
|
|
|
credential: #腾讯cos,发送图片、视频、文件时需要,请自行申请后替换,必须修改
|
|
|
|
|
tencent:
|
|
|
|
|
appID: 1302656840
|
|
|
|
|
region: ap-chengdu
|
|
|
|
|
bucket: echat-1302656840
|
|
|
|
|
secretID: AKIDGNYVChzIQinu7QEgtNp0hnNgqcV8vZTC1
|
|
|
|
|
secretKey: kz15vW83qM6dBUWIq681eBZA0c0vlIbe1
|
|
|
|
|
minio: #MinIO 发送图片、视频、文件时需要,请自行申请后替换,必须修改。 客户端初始化InitSDK,中 object_storage参数为minio
|
|
|
|
|
bucket: openim # 存储内容桶
|
|
|
|
|
appBucket: app # 存储app的桶
|
|
|
|
|
location: us-east-1
|
|
|
|
|
endpoint: http://127.0.0.1:10005 #minio外网ip 这个ip是给客户端访问的
|
|
|
|
|
endpointInner: http://127.0.0.1:10005 #minio内网地址 如果im server 可以通过内网访问到 minio就可以填写
|
|
|
|
|
endpointInnerEnable: true #是否启用minio内网地址 启用可以让桶初始化,IM server连接minio走内网地址访问
|
|
|
|
|
accessKeyID: user12345
|
|
|
|
|
secretAccessKey: key12345
|
|
|
|
|
storageTime: 50 #文件在minio中保存的时间
|
|
|
|
|
isDistributedMod: false # 是否分布式多硬盘部署 默认docker-compose中为false
|
|
|
|
|
ali: # ali oss
|
|
|
|
|
regionID: "oss-cn-beijing"
|
|
|
|
|
accessKeyID: ""
|
|
|
|
|
accessKeySecret: ""
|
|
|
|
|
stsEndpoint: "sts.cn-beijing.aliyun.com"
|
|
|
|
|
ossEndpoint: "oss-cn-beijing.aliyuncs.com"
|
|
|
|
|
bucket: "bucket1"
|
|
|
|
|
finalHost: "http://bucket1.oss-cn-beijing.aliyuncs.com"
|
|
|
|
|
stsDurationSeconds: 3600
|
|
|
|
|
OssRoleArn: "acs:ram::xxx:role/xxx"
|
|
|
|
|
aws:
|
|
|
|
|
accessKeyID: 1 #AssumeRole用户关联的accessKeyID
|
|
|
|
|
accessKeySecret: 2 #AssumeRole用户关联的accessKeySecrect
|
|
|
|
|
region: ap-southeast-1 #分区
|
|
|
|
|
bucket: ouyang #桶
|
|
|
|
|
finalHost: ouyang.s3.ap-southeast-1.amazonaws.com #对外Host
|
|
|
|
|
roleArn: arn:aws:iam::192209831083:role/AWS_S3_FOR_OUYANG #RoleArn
|
|
|
|
|
externalId: AssumeRoleExtend #角色扩展Id
|
|
|
|
|
roleSessionName: Required-AWS-ID-OPENIM #角色SESSION名称
|
|
|
|
|
|
|
|
|
|
dtm:
|
|
|
|
|
serverURL: 127.0.0.1:10007
|
|
|
|
|
|
|
|
|
|
rpcport: #rpc服务端口 默认即可
|
|
|
|
|
openImUserPort: [ 10110 ]
|
|
|
|
|
openImFriendPort: [ 10120 ]
|
|
|
|
|
openImMessagePort: [ 10130 ]
|
|
|
|
|
openImMessageGatewayPort: [ 10140 ]
|
|
|
|
|
openImGroupPort: [ 10150 ]
|
|
|
|
|
openImAuthPort: [ 10160 ]
|
|
|
|
|
openImPushPort: [ 10170 ]
|
|
|
|
|
openImStatisticsPort: [ 10180 ]
|
|
|
|
|
openImMessageCmsPort: [ 10190 ]
|
|
|
|
|
openImAdminCmsPort: [ 10200 ]
|
|
|
|
|
openImOfficePort: [ 10210 ]
|
|
|
|
|
openImOrganizationPort: [ 10220 ]
|
|
|
|
|
openImConversationPort: [ 10230 ]
|
|
|
|
|
openImCachePort: [ 10240 ]
|
|
|
|
|
openImRealTimeCommPort: [ 11300 ]
|
|
|
|
|
c2c:
|
|
|
|
|
callbackBeforeSendMsg:
|
|
|
|
|
switch: false
|
|
|
|
|
timeoutStrategy: 1 #1:send
|
|
|
|
|
callbackAfterSendMsg:
|
|
|
|
|
switch: false
|
|
|
|
|
state:
|
|
|
|
|
stateChange:
|
|
|
|
|
switch: false
|
|
|
|
|
|
|
|
|
|
rpcregistername: #rpc注册服务名,默认即可
|
|
|
|
|
openImUserName: User
|
|
|
|
|
openImFriendName: Friend
|
|
|
|
|
openImMsgName: Msg
|
|
|
|
|
openImPushName: Push
|
|
|
|
|
openImRelayName: Relay
|
|
|
|
|
openImGroupName: Group
|
|
|
|
|
openImAuthName: Auth
|
|
|
|
|
openImStatisticsName: Statistics
|
|
|
|
|
openImMessageCMSName: MessageCMS
|
|
|
|
|
openImAdminCMSName: AdminCMS
|
|
|
|
|
openImOfficeName: Office
|
|
|
|
|
openImOrganizationName: Organization
|
|
|
|
|
openImConversationName: Conversation
|
|
|
|
|
openImCacheName: Cache
|
|
|
|
|
openImRealTimeCommName: RealTimeComm
|
|
|
|
|
log:
|
|
|
|
|
storageLocation: ../logs/
|
|
|
|
|
rotationTime: 24
|
|
|
|
|
remainRotationCount: 2 #日志数量
|
|
|
|
|
#日志级别 6表示全都打印,测试阶段建议设置为6
|
|
|
|
|
remainLogLevel: 6
|
|
|
|
|
elasticSearchSwitch: false
|
|
|
|
|
elasticSearchAddr: [ 127.0.0.1:9201 ]
|
|
|
|
|
elasticSearchUser: ""
|
|
|
|
|
elasticSearchPassword: ""
|
|
|
|
|
|
|
|
|
|
modulename: #日志文件按模块命名,默认即可
|
|
|
|
|
longConnSvrName: msg_gateway
|
|
|
|
|
msgTransferName: msg_transfer
|
|
|
|
|
pushName: push
|
|
|
|
|
|
|
|
|
|
longconnsvr:
|
|
|
|
|
openImWsPort: [ 10001 ] # ws服务端口,默认即可,要开放此端口或做nginx转发
|
|
|
|
|
websocketMaxConnNum: 10000
|
|
|
|
|
websocketMaxMsgLen: 4096
|
|
|
|
|
websocketTimeOut: 10
|
|
|
|
|
|
|
|
|
|
## 推送只能开启一个 enable代表开启
|
|
|
|
|
push:
|
|
|
|
|
tpns: #腾讯推送,暂未测试 暂不要使用
|
|
|
|
|
ios:
|
|
|
|
|
accessID: 1600018281
|
|
|
|
|
secretKey: 3cd68a77a95b89e5089a1aca523f318f
|
|
|
|
|
android:
|
|
|
|
|
accessID: 111
|
|
|
|
|
secretKey: 111
|
|
|
|
|
enable: false
|
|
|
|
|
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"
|
|
|
|
|
enable: true
|
|
|
|
|
getui: #个推推送
|
|
|
|
|
pushUrl: "https://restapi.getui.com/v2/$appId"
|
|
|
|
|
masterSecret: ""
|
|
|
|
|
appKey: ""
|
|
|
|
|
intent: ""
|
|
|
|
|
enable: false
|
|
|
|
|
fcm: #firebase cloud message 消息推送
|
|
|
|
|
serviceAccount: "openim-5c6c0-firebase-adminsdk-ppwol-8765884a78.json" #帐号文件,此处需要改修配置,并且这个文件放在 config目录下
|
|
|
|
|
enable: false
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
manager:
|
|
|
|
|
#app管理员userID和对应的secret 建议修改。 用于管理后台登录,也可以用户管理后台对应的api
|
|
|
|
|
appManagerUid: [ "openIM123456","openIM654321", "openIM333", "openIMAdmin"]
|
|
|
|
|
secrets: [ "openIM1","openIM2", "openIM333", "openIMAdmin"]
|
|
|
|
|
appSysNotificationName: "系统通知"
|
|
|
|
|
|
|
|
|
|
secret: tuoyun
|
|
|
|
|
# 多端互踢策略
|
|
|
|
|
# 1:多平台登录:Android、iOS、Windows、Mac 每种平台只能一个在线,web端可以多个同时在线
|
|
|
|
|
multiloginpolicy: 1
|
|
|
|
|
|
|
|
|
|
#msg log insert to db
|
|
|
|
|
chatpersistencemysql: true
|
|
|
|
|
#可靠性存储
|
|
|
|
|
reliablestorage: false
|
|
|
|
|
#消息缓存时间
|
|
|
|
|
msgCacheTimeout: 86400
|
|
|
|
|
#群聊已读开启
|
|
|
|
|
groupMessageHasReadReceiptEnable: true
|
|
|
|
|
#单聊已读开启
|
|
|
|
|
singleMessageHasReadReceiptEnable: true
|
|
|
|
|
|
|
|
|
|
#token config
|
|
|
|
|
tokenpolicy:
|
|
|
|
|
accessSecret: "open_im_server" #token生成相关,默认即可
|
|
|
|
|
# Token effective time day as a unit
|
|
|
|
|
accessExpire: 90 #token过期时间(天) 默认即可
|
|
|
|
|
messageverify:
|
|
|
|
|
friendVerify: false
|
|
|
|
|
|
|
|
|
|
# c2c:
|
|
|
|
|
# callbackBeforeSendMsg:
|
|
|
|
|
# switch: false
|
|
|
|
|
# timeoutStrategy: 1 #1:send
|
|
|
|
|
# callbackAfterSendMsg:
|
|
|
|
|
# switch: false
|
|
|
|
|
# state:
|
|
|
|
|
# stateChange:
|
|
|
|
|
# switch: false
|
|
|
|
|
#ios系统推送声音以及标记计数
|
|
|
|
|
iospush:
|
|
|
|
|
pushSound: "xxx"
|
|
|
|
|
badgeCount: true
|
|
|
|
|
production: false
|
|
|
|
|
|
|
|
|
|
callback:
|
|
|
|
|
# callback url 需要自行更换callback url
|
|
|
|
|
callbackUrl : "http://127.0.0.1:8080/callback"
|
|
|
|
|
# 开启关闭操作前后回调的配置
|
|
|
|
|
callbackBeforeSendSingleMsg:
|
|
|
|
|
enable: false # 回调是否启用
|
|
|
|
|
callbackTimeOut: 2 # 回调超时时间
|
|
|
|
|
callbackFailedContinue: true # 回调超时是否继续执行代码
|
|
|
|
|
callbackAfterSendSingleMsg:
|
|
|
|
|
enable: false
|
|
|
|
|
callbackTimeOut: 2
|
|
|
|
|
callbackBeforeSendGroupMsg:
|
|
|
|
|
enable: false
|
|
|
|
|
callbackTimeOut: 2
|
|
|
|
|
callbackFailedContinue: true
|
|
|
|
|
callbackAfterSendGroupMsg:
|
|
|
|
|
enable: false
|
|
|
|
|
callbackTimeOut: 2
|
|
|
|
|
callbackWordFilter:
|
|
|
|
|
enable: false
|
|
|
|
|
callbackTimeOut: 2
|
|
|
|
|
callbackFailedContinue: true
|
|
|
|
|
callbackUserOnline:
|
|
|
|
|
enable: false
|
|
|
|
|
callbackTimeOut: 2
|
|
|
|
|
callbackUserOffline:
|
|
|
|
|
enable: false
|
|
|
|
|
callbackTimeOut: 2
|
|
|
|
|
callbackUserKickOff:
|
|
|
|
|
enable: false
|
|
|
|
|
callbackTimeOut: 2
|
|
|
|
|
callbackOfflinePush:
|
|
|
|
|
enable: false
|
|
|
|
|
callbackTimeOut: 2
|
|
|
|
|
callbackFailedContinue: true # 回调超时是否继续离线推送
|
|
|
|
|
callbackOnlinePush:
|
|
|
|
|
enable: false
|
|
|
|
|
callbackTimeOut: 2
|
|
|
|
|
callbackFailedContinue: true # 回调超时是否继续离线推送
|
|
|
|
|
callbackSuperGroupOnlinePush:
|
|
|
|
|
enable: false
|
|
|
|
|
callbackTimeOut: 2
|
|
|
|
|
callbackFailedContinue: 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 msg" # 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
|
|
|
|
|
|
|
|
|
|
groupDismissed:
|
|
|
|
|
conversation:
|
|
|
|
|
reliabilityLevel: 3
|
|
|
|
|
unreadCount: true
|
|
|
|
|
offlinePush:
|
|
|
|
|
switch: false
|
|
|
|
|
title: "groupDismissed title"
|
|
|
|
|
desc: "groupDismissed desc"
|
|
|
|
|
ext: "groupDismissed ext"
|
|
|
|
|
defaultTips:
|
|
|
|
|
tips: "group dismissed"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
groupMuted:
|
|
|
|
|
conversation:
|
|
|
|
|
reliabilityLevel: 3
|
|
|
|
|
unreadCount: true
|
|
|
|
|
offlinePush:
|
|
|
|
|
switch: false
|
|
|
|
|
title: "groupMuted title"
|
|
|
|
|
desc: "groupMuted desc"
|
|
|
|
|
ext: "groupMuted ext"
|
|
|
|
|
defaultTips:
|
|
|
|
|
tips: "group Muted"
|
|
|
|
|
|
|
|
|
|
groupCancelMuted:
|
|
|
|
|
conversation:
|
|
|
|
|
reliabilityLevel: 3
|
|
|
|
|
unreadCount: true
|
|
|
|
|
offlinePush:
|
|
|
|
|
switch: false
|
|
|
|
|
title: "groupCancelMuted title"
|
|
|
|
|
desc: "groupCancelMuted desc"
|
|
|
|
|
ext: "groupCancelMuted ext"
|
|
|
|
|
defaultTips:
|
|
|
|
|
tips: "group Cancel Muted"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
groupMemberMuted:
|
|
|
|
|
conversation:
|
|
|
|
|
reliabilityLevel: 3
|
|
|
|
|
unreadCount: true
|
|
|
|
|
offlinePush:
|
|
|
|
|
switch: false
|
|
|
|
|
title: "groupMemberMuted title"
|
|
|
|
|
desc: "groupMemberMuted desc"
|
|
|
|
|
ext: "groupMemberMuted ext"
|
|
|
|
|
defaultTips:
|
|
|
|
|
tips: "group Member Muted"
|
|
|
|
|
|
|
|
|
|
groupMemberCancelMuted:
|
|
|
|
|
conversation:
|
|
|
|
|
reliabilityLevel: 3
|
|
|
|
|
unreadCount: true
|
|
|
|
|
offlinePush:
|
|
|
|
|
switch: false
|
|
|
|
|
title: "groupMemberCancelMuted title"
|
|
|
|
|
desc: "groupMemberCancelMuted desc"
|
|
|
|
|
ext: "groupMemberCancelMuted ext"
|
|
|
|
|
defaultTips:
|
|
|
|
|
tips: "group Member Cancel Muted"
|
|
|
|
|
|
|
|
|
|
groupMemberInfoSet:
|
|
|
|
|
conversation:
|
|
|
|
|
reliabilityLevel: 2
|
|
|
|
|
unreadCount: false
|
|
|
|
|
offlinePush:
|
|
|
|
|
switch: false
|
|
|
|
|
title: "groupMemberInfoSet title"
|
|
|
|
|
desc: "groupMemberInfoSet desc"
|
|
|
|
|
ext: "groupMemberInfoSet ext"
|
|
|
|
|
defaultTips:
|
|
|
|
|
tips: "group member info set"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
organizationChanged:
|
|
|
|
|
conversation:
|
|
|
|
|
reliabilityLevel: 2
|
|
|
|
|
unreadCount: false
|
|
|
|
|
offlinePush:
|
|
|
|
|
switch: false
|
|
|
|
|
title: "organizationChanged title"
|
|
|
|
|
desc: "organizationChanged desc"
|
|
|
|
|
ext: "organizationChanged ext"
|
|
|
|
|
defaultTips:
|
|
|
|
|
tips: "organization changed"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#############################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: 1
|
|
|
|
|
unreadCount: false
|
|
|
|
|
offlinePush:
|
|
|
|
|
switch: true
|
|
|
|
|
title: "conversation opt update"
|
|
|
|
|
desc: "conversation opt update"
|
|
|
|
|
ext: "conversation opt update"
|
|
|
|
|
defaultTips:
|
|
|
|
|
tips: "conversation opt update"
|
|
|
|
|
|
|
|
|
|
conversationSetPrivate:
|
|
|
|
|
conversation:
|
|
|
|
|
reliabilityLevel: 3
|
|
|
|
|
unreadCount: true
|
|
|
|
|
offlinePush:
|
|
|
|
|
switch: true
|
|
|
|
|
title: "burn after reading"
|
|
|
|
|
desc: "burn after reading"
|
|
|
|
|
ext: "burn after reading"
|
|
|
|
|
defaultTips:
|
|
|
|
|
openTips: "burn after reading was opened"
|
|
|
|
|
closeTips: "burn after reading was closed"
|
|
|
|
|
|
|
|
|
|
###################workMoments################
|
|
|
|
|
workMomentsNotification:
|
|
|
|
|
conversation:
|
|
|
|
|
reliabilityLevel: 2
|
|
|
|
|
unreadCount: true
|
|
|
|
|
offlinePush:
|
|
|
|
|
switch: true
|
|
|
|
|
title: "burn after reading"
|
|
|
|
|
desc: "burn after reading"
|
|
|
|
|
ext: "burn after reading"
|
|
|
|
|
defaultTips:
|
|
|
|
|
openTips: "burn after reading was opened"
|
|
|
|
|
closeTips: "burn after reading was closed"
|
|
|
|
|
|
|
|
|
|
###################organization################
|
|
|
|
|
joinDepartmentNotification:
|
|
|
|
|
conversation:
|
|
|
|
|
reliabilityLevel: 3
|
|
|
|
|
unreadCount: true
|
|
|
|
|
offlinePush:
|
|
|
|
|
switch: false
|
|
|
|
|
title: "welcome user join department"
|
|
|
|
|
desc: "welcome user join department"
|
|
|
|
|
ext: "welcome user join department"
|
|
|
|
|
defaultTips:
|
|
|
|
|
tips: "welcome user join department"
|
|
|
|
|
|
|
|
|
|
#---------------demo configuration---------------------#
|
|
|
|
|
#The following configuration items are applied to openIM Demo configuration
|
|
|
|
|
#是否启动demo,如果自身没有账号体系,设置为true
|
|
|
|
|
demoswitch: true
|
|
|
|
|
demo:
|
|
|
|
|
listenIP: 0.0.0.0
|
|
|
|
|
#demo对外服务端口,默认即可,需要开放此端口或做nginx转发
|
|
|
|
|
openImDemoPort: [ 10004 ]
|
|
|
|
|
alismsverify: #阿里云短信配置,在阿里云申请成功后修改以下四项,enable为true则必须修改,阿里云为默认短信验证方式
|
|
|
|
|
accessKeyId: LTAI5tJPkn4HuuePdiLdGqe7
|
|
|
|
|
accessKeySecret: 4n9OJ7ZCVN1U6KeHDAtOyNeVZcjOuV
|
|
|
|
|
signName: 托云信息技术
|
|
|
|
|
verificationCodeTemplateCode: SMS_226810164
|
|
|
|
|
enable: false
|
|
|
|
|
tencentsms: #腾讯云短信配置,在腾讯云申请成功后,修改以下选项,enable为true则必须修改
|
|
|
|
|
appID: 2400000648
|
|
|
|
|
region: "ap-singapore"
|
|
|
|
|
secretID: IKIDra4JPGsFMDwQedMq42lESQBgwwgBQQAe
|
|
|
|
|
secretKey: HI6fz4uUotjJdiX6QUIrAE2buxlKdgU2
|
|
|
|
|
signName: ""
|
|
|
|
|
verificationCodeTemplateCode: 2902877
|
|
|
|
|
enable: true
|
|
|
|
|
superCode: 666666 #超级验证码,建议修改掉,收不到短信验证码时可以用此替代
|
|
|
|
|
needInvitationCode: false
|
|
|
|
|
# second
|
|
|
|
|
codeTTL: 60
|
|
|
|
|
useSuperCode: true
|
|
|
|
|
mail: #仅支持qq邮箱,具体操作参考 https://service.mail.qq.com/cgi-bin/help?subtype=1&id=28&no=1001256 必须修改
|
|
|
|
|
title: "openIM"
|
|
|
|
|
senderMail: "765567899@qq.com"
|
|
|
|
|
senderAuthorizationCode: "gxyausfoevlzbfag"
|
|
|
|
|
smtpAddr: "smtp.qq.com"
|
|
|
|
|
smtpPort: 25 #需开放此端口 出口方向
|
|
|
|
|
testDepartMentID: 001
|
|
|
|
|
imAPIURL: http://127.0.0.1:10002
|
|
|
|
|
onboardProcess: false # 是否开启注册流程
|
|
|
|
|
createOrganizationUserAndJoinDepartment: false
|
|
|
|
|
joinDepartmentIDList: [] # 用户注册进来默认加的部门ID列表 不填就随机
|
|
|
|
|
joinDepartmentGroups: false # 注册是否加部门群
|
|
|
|
|
oaNotification: false # 注册是否发送OA通知
|
|
|
|
|
|
|
|
|
|
rtc:
|
|
|
|
|
signalTimeout: 35
|