|
|
|
@ -28,378 +28,380 @@ import (
|
|
|
|
|
"github.com/openimsdk/tools/s3/oss"
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
const StructTagName = "yaml"
|
|
|
|
|
|
|
|
|
|
type CacheConfig struct {
|
|
|
|
|
Topic string `mapstructure:"topic"`
|
|
|
|
|
SlotNum int `mapstructure:"slotNum"`
|
|
|
|
|
SlotSize int `mapstructure:"slotSize"`
|
|
|
|
|
SuccessExpire int `mapstructure:"successExpire"`
|
|
|
|
|
FailedExpire int `mapstructure:"failedExpire"`
|
|
|
|
|
Topic string `yaml:"topic"`
|
|
|
|
|
SlotNum int `yaml:"slotNum"`
|
|
|
|
|
SlotSize int `yaml:"slotSize"`
|
|
|
|
|
SuccessExpire int `yaml:"successExpire"`
|
|
|
|
|
FailedExpire int `yaml:"failedExpire"`
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
type LocalCache struct {
|
|
|
|
|
User CacheConfig `mapstructure:"user"`
|
|
|
|
|
Group CacheConfig `mapstructure:"group"`
|
|
|
|
|
Friend CacheConfig `mapstructure:"friend"`
|
|
|
|
|
Conversation CacheConfig `mapstructure:"conversation"`
|
|
|
|
|
User CacheConfig `yaml:"user"`
|
|
|
|
|
Group CacheConfig `yaml:"group"`
|
|
|
|
|
Friend CacheConfig `yaml:"friend"`
|
|
|
|
|
Conversation CacheConfig `yaml:"conversation"`
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
type Log struct {
|
|
|
|
|
StorageLocation string `mapstructure:"storageLocation"`
|
|
|
|
|
RotationTime uint `mapstructure:"rotationTime"`
|
|
|
|
|
RemainRotationCount uint `mapstructure:"remainRotationCount"`
|
|
|
|
|
RemainLogLevel int `mapstructure:"remainLogLevel"`
|
|
|
|
|
IsStdout bool `mapstructure:"isStdout"`
|
|
|
|
|
IsJson bool `mapstructure:"isJson"`
|
|
|
|
|
IsSimplify bool `mapstructure:"isSimplify"`
|
|
|
|
|
WithStack bool `mapstructure:"withStack"`
|
|
|
|
|
StorageLocation string `yaml:"storageLocation"`
|
|
|
|
|
RotationTime uint `yaml:"rotationTime"`
|
|
|
|
|
RemainRotationCount uint `yaml:"remainRotationCount"`
|
|
|
|
|
RemainLogLevel int `yaml:"remainLogLevel"`
|
|
|
|
|
IsStdout bool `yaml:"isStdout"`
|
|
|
|
|
IsJson bool `yaml:"isJson"`
|
|
|
|
|
IsSimplify bool `yaml:"isSimplify"`
|
|
|
|
|
WithStack bool `yaml:"withStack"`
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
type Minio struct {
|
|
|
|
|
Bucket string `mapstructure:"bucket"`
|
|
|
|
|
AccessKeyID string `mapstructure:"accessKeyID"`
|
|
|
|
|
SecretAccessKey string `mapstructure:"secretAccessKey"`
|
|
|
|
|
SessionToken string `mapstructure:"sessionToken"`
|
|
|
|
|
InternalAddress string `mapstructure:"internalAddress"`
|
|
|
|
|
ExternalAddress string `mapstructure:"externalAddress"`
|
|
|
|
|
PublicRead bool `mapstructure:"publicRead"`
|
|
|
|
|
Bucket string `yaml:"bucket"`
|
|
|
|
|
AccessKeyID string `yaml:"accessKeyID"`
|
|
|
|
|
SecretAccessKey string `yaml:"secretAccessKey"`
|
|
|
|
|
SessionToken string `yaml:"sessionToken"`
|
|
|
|
|
InternalAddress string `yaml:"internalAddress"`
|
|
|
|
|
ExternalAddress string `yaml:"externalAddress"`
|
|
|
|
|
PublicRead bool `yaml:"publicRead"`
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
type Mongo struct {
|
|
|
|
|
URI string `mapstructure:"uri"`
|
|
|
|
|
Address []string `mapstructure:"address"`
|
|
|
|
|
Database string `mapstructure:"database"`
|
|
|
|
|
Username string `mapstructure:"username"`
|
|
|
|
|
Password string `mapstructure:"password"`
|
|
|
|
|
AuthSource string `mapstructure:"authSource"`
|
|
|
|
|
MaxPoolSize int `mapstructure:"maxPoolSize"`
|
|
|
|
|
MaxRetry int `mapstructure:"maxRetry"`
|
|
|
|
|
URI string `yaml:"uri"`
|
|
|
|
|
Address []string `yaml:"address"`
|
|
|
|
|
Database string `yaml:"database"`
|
|
|
|
|
Username string `yaml:"username"`
|
|
|
|
|
Password string `yaml:"password"`
|
|
|
|
|
AuthSource string `yaml:"authSource"`
|
|
|
|
|
MaxPoolSize int `yaml:"maxPoolSize"`
|
|
|
|
|
MaxRetry int `yaml:"maxRetry"`
|
|
|
|
|
}
|
|
|
|
|
type Kafka struct {
|
|
|
|
|
Username string `mapstructure:"username"`
|
|
|
|
|
Password string `mapstructure:"password"`
|
|
|
|
|
ProducerAck string `mapstructure:"producerAck"`
|
|
|
|
|
CompressType string `mapstructure:"compressType"`
|
|
|
|
|
Address []string `mapstructure:"address"`
|
|
|
|
|
ToRedisTopic string `mapstructure:"toRedisTopic"`
|
|
|
|
|
ToMongoTopic string `mapstructure:"toMongoTopic"`
|
|
|
|
|
ToPushTopic string `mapstructure:"toPushTopic"`
|
|
|
|
|
ToOfflinePushTopic string `mapstructure:"toOfflinePushTopic"`
|
|
|
|
|
ToRedisGroupID string `mapstructure:"toRedisGroupID"`
|
|
|
|
|
ToMongoGroupID string `mapstructure:"toMongoGroupID"`
|
|
|
|
|
ToPushGroupID string `mapstructure:"toPushGroupID"`
|
|
|
|
|
ToOfflineGroupID string `mapstructure:"toOfflinePushGroupID"`
|
|
|
|
|
|
|
|
|
|
Tls TLSConfig `mapstructure:"tls"`
|
|
|
|
|
Username string `yaml:"username"`
|
|
|
|
|
Password string `yaml:"password"`
|
|
|
|
|
ProducerAck string `yaml:"producerAck"`
|
|
|
|
|
CompressType string `yaml:"compressType"`
|
|
|
|
|
Address []string `yaml:"address"`
|
|
|
|
|
ToRedisTopic string `yaml:"toRedisTopic"`
|
|
|
|
|
ToMongoTopic string `yaml:"toMongoTopic"`
|
|
|
|
|
ToPushTopic string `yaml:"toPushTopic"`
|
|
|
|
|
ToOfflinePushTopic string `yaml:"toOfflinePushTopic"`
|
|
|
|
|
ToRedisGroupID string `yaml:"toRedisGroupID"`
|
|
|
|
|
ToMongoGroupID string `yaml:"toMongoGroupID"`
|
|
|
|
|
ToPushGroupID string `yaml:"toPushGroupID"`
|
|
|
|
|
ToOfflineGroupID string `yaml:"toOfflinePushGroupID"`
|
|
|
|
|
|
|
|
|
|
Tls TLSConfig `yaml:"tls"`
|
|
|
|
|
}
|
|
|
|
|
type TLSConfig struct {
|
|
|
|
|
EnableTLS bool `mapstructure:"enableTLS"`
|
|
|
|
|
CACrt string `mapstructure:"caCrt"`
|
|
|
|
|
ClientCrt string `mapstructure:"clientCrt"`
|
|
|
|
|
ClientKey string `mapstructure:"clientKey"`
|
|
|
|
|
ClientKeyPwd string `mapstructure:"clientKeyPwd"`
|
|
|
|
|
InsecureSkipVerify bool `mapstructure:"insecureSkipVerify"`
|
|
|
|
|
EnableTLS bool `yaml:"enableTLS"`
|
|
|
|
|
CACrt string `yaml:"caCrt"`
|
|
|
|
|
ClientCrt string `yaml:"clientCrt"`
|
|
|
|
|
ClientKey string `yaml:"clientKey"`
|
|
|
|
|
ClientKeyPwd string `yaml:"clientKeyPwd"`
|
|
|
|
|
InsecureSkipVerify bool `yaml:"insecureSkipVerify"`
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
type API struct {
|
|
|
|
|
Api struct {
|
|
|
|
|
ListenIP string `mapstructure:"listenIP"`
|
|
|
|
|
Ports []int `mapstructure:"ports"`
|
|
|
|
|
CompressionLevel int `mapstructure:"compressionLevel"`
|
|
|
|
|
} `mapstructure:"api"`
|
|
|
|
|
ListenIP string `yaml:"listenIP"`
|
|
|
|
|
Ports []int `yaml:"ports"`
|
|
|
|
|
CompressionLevel int `yaml:"compressionLevel"`
|
|
|
|
|
} `yaml:"api"`
|
|
|
|
|
Prometheus struct {
|
|
|
|
|
Enable bool `mapstructure:"enable"`
|
|
|
|
|
AutoSetPorts bool `mapstructure:"autoSetPorts"`
|
|
|
|
|
Ports []int `mapstructure:"ports"`
|
|
|
|
|
GrafanaURL string `mapstructure:"grafanaURL"`
|
|
|
|
|
} `mapstructure:"prometheus"`
|
|
|
|
|
Enable bool `yaml:"enable"`
|
|
|
|
|
AutoSetPorts bool `yaml:"autoSetPorts"`
|
|
|
|
|
Ports []int `yaml:"ports"`
|
|
|
|
|
GrafanaURL string `yaml:"grafanaURL"`
|
|
|
|
|
} `yaml:"prometheus"`
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
type CronTask struct {
|
|
|
|
|
CronExecuteTime string `mapstructure:"cronExecuteTime"`
|
|
|
|
|
RetainChatRecords int `mapstructure:"retainChatRecords"`
|
|
|
|
|
FileExpireTime int `mapstructure:"fileExpireTime"`
|
|
|
|
|
DeleteObjectType []string `mapstructure:"deleteObjectType"`
|
|
|
|
|
CronExecuteTime string `yaml:"cronExecuteTime"`
|
|
|
|
|
RetainChatRecords int `yaml:"retainChatRecords"`
|
|
|
|
|
FileExpireTime int `yaml:"fileExpireTime"`
|
|
|
|
|
DeleteObjectType []string `yaml:"deleteObjectType"`
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
type OfflinePushConfig struct {
|
|
|
|
|
Enable bool `mapstructure:"enable"`
|
|
|
|
|
Title string `mapstructure:"title"`
|
|
|
|
|
Desc string `mapstructure:"desc"`
|
|
|
|
|
Ext string `mapstructure:"ext"`
|
|
|
|
|
Enable bool `yaml:"enable"`
|
|
|
|
|
Title string `yaml:"title"`
|
|
|
|
|
Desc string `yaml:"desc"`
|
|
|
|
|
Ext string `yaml:"ext"`
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
type NotificationConfig struct {
|
|
|
|
|
IsSendMsg bool `mapstructure:"isSendMsg"`
|
|
|
|
|
ReliabilityLevel int `mapstructure:"reliabilityLevel"`
|
|
|
|
|
UnreadCount bool `mapstructure:"unreadCount"`
|
|
|
|
|
OfflinePush OfflinePushConfig `mapstructure:"offlinePush"`
|
|
|
|
|
IsSendMsg bool `yaml:"isSendMsg"`
|
|
|
|
|
ReliabilityLevel int `yaml:"reliabilityLevel"`
|
|
|
|
|
UnreadCount bool `yaml:"unreadCount"`
|
|
|
|
|
OfflinePush OfflinePushConfig `yaml:"offlinePush"`
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
type Notification struct {
|
|
|
|
|
GroupCreated NotificationConfig `mapstructure:"groupCreated"`
|
|
|
|
|
GroupInfoSet NotificationConfig `mapstructure:"groupInfoSet"`
|
|
|
|
|
JoinGroupApplication NotificationConfig `mapstructure:"joinGroupApplication"`
|
|
|
|
|
MemberQuit NotificationConfig `mapstructure:"memberQuit"`
|
|
|
|
|
GroupApplicationAccepted NotificationConfig `mapstructure:"groupApplicationAccepted"`
|
|
|
|
|
GroupApplicationRejected NotificationConfig `mapstructure:"groupApplicationRejected"`
|
|
|
|
|
GroupOwnerTransferred NotificationConfig `mapstructure:"groupOwnerTransferred"`
|
|
|
|
|
MemberKicked NotificationConfig `mapstructure:"memberKicked"`
|
|
|
|
|
MemberInvited NotificationConfig `mapstructure:"memberInvited"`
|
|
|
|
|
MemberEnter NotificationConfig `mapstructure:"memberEnter"`
|
|
|
|
|
GroupDismissed NotificationConfig `mapstructure:"groupDismissed"`
|
|
|
|
|
GroupMuted NotificationConfig `mapstructure:"groupMuted"`
|
|
|
|
|
GroupCancelMuted NotificationConfig `mapstructure:"groupCancelMuted"`
|
|
|
|
|
GroupMemberMuted NotificationConfig `mapstructure:"groupMemberMuted"`
|
|
|
|
|
GroupMemberCancelMuted NotificationConfig `mapstructure:"groupMemberCancelMuted"`
|
|
|
|
|
GroupMemberInfoSet NotificationConfig `mapstructure:"groupMemberInfoSet"`
|
|
|
|
|
GroupCreated NotificationConfig `yaml:"groupCreated"`
|
|
|
|
|
GroupInfoSet NotificationConfig `yaml:"groupInfoSet"`
|
|
|
|
|
JoinGroupApplication NotificationConfig `yaml:"joinGroupApplication"`
|
|
|
|
|
MemberQuit NotificationConfig `yaml:"memberQuit"`
|
|
|
|
|
GroupApplicationAccepted NotificationConfig `yaml:"groupApplicationAccepted"`
|
|
|
|
|
GroupApplicationRejected NotificationConfig `yaml:"groupApplicationRejected"`
|
|
|
|
|
GroupOwnerTransferred NotificationConfig `yaml:"groupOwnerTransferred"`
|
|
|
|
|
MemberKicked NotificationConfig `yaml:"memberKicked"`
|
|
|
|
|
MemberInvited NotificationConfig `yaml:"memberInvited"`
|
|
|
|
|
MemberEnter NotificationConfig `yaml:"memberEnter"`
|
|
|
|
|
GroupDismissed NotificationConfig `yaml:"groupDismissed"`
|
|
|
|
|
GroupMuted NotificationConfig `yaml:"groupMuted"`
|
|
|
|
|
GroupCancelMuted NotificationConfig `yaml:"groupCancelMuted"`
|
|
|
|
|
GroupMemberMuted NotificationConfig `yaml:"groupMemberMuted"`
|
|
|
|
|
GroupMemberCancelMuted NotificationConfig `yaml:"groupMemberCancelMuted"`
|
|
|
|
|
GroupMemberInfoSet NotificationConfig `yaml:"groupMemberInfoSet"`
|
|
|
|
|
GroupMemberSetToAdmin NotificationConfig `yaml:"groupMemberSetToAdmin"`
|
|
|
|
|
GroupMemberSetToOrdinary NotificationConfig `yaml:"groupMemberSetToOrdinaryUser"`
|
|
|
|
|
GroupInfoSetAnnouncement NotificationConfig `mapstructure:"groupInfoSetAnnouncement"`
|
|
|
|
|
GroupInfoSetName NotificationConfig `mapstructure:"groupInfoSetName"`
|
|
|
|
|
FriendApplicationAdded NotificationConfig `mapstructure:"friendApplicationAdded"`
|
|
|
|
|
FriendApplicationApproved NotificationConfig `mapstructure:"friendApplicationApproved"`
|
|
|
|
|
FriendApplicationRejected NotificationConfig `mapstructure:"friendApplicationRejected"`
|
|
|
|
|
FriendAdded NotificationConfig `mapstructure:"friendAdded"`
|
|
|
|
|
FriendDeleted NotificationConfig `mapstructure:"friendDeleted"`
|
|
|
|
|
FriendRemarkSet NotificationConfig `mapstructure:"friendRemarkSet"`
|
|
|
|
|
BlackAdded NotificationConfig `mapstructure:"blackAdded"`
|
|
|
|
|
BlackDeleted NotificationConfig `mapstructure:"blackDeleted"`
|
|
|
|
|
FriendInfoUpdated NotificationConfig `mapstructure:"friendInfoUpdated"`
|
|
|
|
|
UserInfoUpdated NotificationConfig `mapstructure:"userInfoUpdated"`
|
|
|
|
|
UserStatusChanged NotificationConfig `mapstructure:"userStatusChanged"`
|
|
|
|
|
ConversationChanged NotificationConfig `mapstructure:"conversationChanged"`
|
|
|
|
|
ConversationSetPrivate NotificationConfig `mapstructure:"conversationSetPrivate"`
|
|
|
|
|
GroupInfoSetAnnouncement NotificationConfig `yaml:"groupInfoSetAnnouncement"`
|
|
|
|
|
GroupInfoSetName NotificationConfig `yaml:"groupInfoSetName"`
|
|
|
|
|
FriendApplicationAdded NotificationConfig `yaml:"friendApplicationAdded"`
|
|
|
|
|
FriendApplicationApproved NotificationConfig `yaml:"friendApplicationApproved"`
|
|
|
|
|
FriendApplicationRejected NotificationConfig `yaml:"friendApplicationRejected"`
|
|
|
|
|
FriendAdded NotificationConfig `yaml:"friendAdded"`
|
|
|
|
|
FriendDeleted NotificationConfig `yaml:"friendDeleted"`
|
|
|
|
|
FriendRemarkSet NotificationConfig `yaml:"friendRemarkSet"`
|
|
|
|
|
BlackAdded NotificationConfig `yaml:"blackAdded"`
|
|
|
|
|
BlackDeleted NotificationConfig `yaml:"blackDeleted"`
|
|
|
|
|
FriendInfoUpdated NotificationConfig `yaml:"friendInfoUpdated"`
|
|
|
|
|
UserInfoUpdated NotificationConfig `yaml:"userInfoUpdated"`
|
|
|
|
|
UserStatusChanged NotificationConfig `yaml:"userStatusChanged"`
|
|
|
|
|
ConversationChanged NotificationConfig `yaml:"conversationChanged"`
|
|
|
|
|
ConversationSetPrivate NotificationConfig `yaml:"conversationSetPrivate"`
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
type Prometheus struct {
|
|
|
|
|
Enable bool `mapstructure:"enable"`
|
|
|
|
|
Ports []int `mapstructure:"ports"`
|
|
|
|
|
Enable bool `yaml:"enable"`
|
|
|
|
|
Ports []int `yaml:"ports"`
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
type MsgGateway struct {
|
|
|
|
|
RPC struct {
|
|
|
|
|
RegisterIP string `mapstructure:"registerIP"`
|
|
|
|
|
AutoSetPorts bool `mapstructure:"autoSetPorts"`
|
|
|
|
|
Ports []int `mapstructure:"ports"`
|
|
|
|
|
} `mapstructure:"rpc"`
|
|
|
|
|
Prometheus Prometheus `mapstructure:"prometheus"`
|
|
|
|
|
ListenIP string `mapstructure:"listenIP"`
|
|
|
|
|
RegisterIP string `yaml:"registerIP"`
|
|
|
|
|
AutoSetPorts bool `yaml:"autoSetPorts"`
|
|
|
|
|
Ports []int `yaml:"ports"`
|
|
|
|
|
} `yaml:"rpc"`
|
|
|
|
|
Prometheus Prometheus `yaml:"prometheus"`
|
|
|
|
|
ListenIP string `yaml:"listenIP"`
|
|
|
|
|
LongConnSvr struct {
|
|
|
|
|
Ports []int `mapstructure:"ports"`
|
|
|
|
|
WebsocketMaxConnNum int `mapstructure:"websocketMaxConnNum"`
|
|
|
|
|
WebsocketMaxMsgLen int `mapstructure:"websocketMaxMsgLen"`
|
|
|
|
|
WebsocketTimeout int `mapstructure:"websocketTimeout"`
|
|
|
|
|
} `mapstructure:"longConnSvr"`
|
|
|
|
|
Ports []int `yaml:"ports"`
|
|
|
|
|
WebsocketMaxConnNum int `yaml:"websocketMaxConnNum"`
|
|
|
|
|
WebsocketMaxMsgLen int `yaml:"websocketMaxMsgLen"`
|
|
|
|
|
WebsocketTimeout int `yaml:"websocketTimeout"`
|
|
|
|
|
} `yaml:"longConnSvr"`
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
type MsgTransfer struct {
|
|
|
|
|
Prometheus struct {
|
|
|
|
|
Enable bool `mapstructure:"enable"`
|
|
|
|
|
AutoSetPorts bool `mapstructure:"autoSetPorts"`
|
|
|
|
|
Ports []int `mapstructure:"ports"`
|
|
|
|
|
} `mapstructure:"prometheus"`
|
|
|
|
|
Enable bool `yaml:"enable"`
|
|
|
|
|
AutoSetPorts bool `yaml:"autoSetPorts"`
|
|
|
|
|
Ports []int `yaml:"ports"`
|
|
|
|
|
} `yaml:"prometheus"`
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
type Push struct {
|
|
|
|
|
RPC struct {
|
|
|
|
|
RegisterIP string `mapstructure:"registerIP"`
|
|
|
|
|
ListenIP string `mapstructure:"listenIP"`
|
|
|
|
|
AutoSetPorts bool `mapstructure:"autoSetPorts"`
|
|
|
|
|
Ports []int `mapstructure:"ports"`
|
|
|
|
|
} `mapstructure:"rpc"`
|
|
|
|
|
Prometheus Prometheus `mapstructure:"prometheus"`
|
|
|
|
|
MaxConcurrentWorkers int `mapstructure:"maxConcurrentWorkers"`
|
|
|
|
|
Enable string `mapstructure:"enable"`
|
|
|
|
|
RegisterIP string `yaml:"registerIP"`
|
|
|
|
|
ListenIP string `yaml:"listenIP"`
|
|
|
|
|
AutoSetPorts bool `yaml:"autoSetPorts"`
|
|
|
|
|
Ports []int `yaml:"ports"`
|
|
|
|
|
} `yaml:"rpc"`
|
|
|
|
|
Prometheus Prometheus `yaml:"prometheus"`
|
|
|
|
|
MaxConcurrentWorkers int `yaml:"maxConcurrentWorkers"`
|
|
|
|
|
Enable string `yaml:"enable"`
|
|
|
|
|
GeTui struct {
|
|
|
|
|
PushUrl string `mapstructure:"pushUrl"`
|
|
|
|
|
MasterSecret string `mapstructure:"masterSecret"`
|
|
|
|
|
AppKey string `mapstructure:"appKey"`
|
|
|
|
|
Intent string `mapstructure:"intent"`
|
|
|
|
|
ChannelID string `mapstructure:"channelID"`
|
|
|
|
|
ChannelName string `mapstructure:"channelName"`
|
|
|
|
|
} `mapstructure:"geTui"`
|
|
|
|
|
PushUrl string `yaml:"pushUrl"`
|
|
|
|
|
MasterSecret string `yaml:"masterSecret"`
|
|
|
|
|
AppKey string `yaml:"appKey"`
|
|
|
|
|
Intent string `yaml:"intent"`
|
|
|
|
|
ChannelID string `yaml:"channelID"`
|
|
|
|
|
ChannelName string `yaml:"channelName"`
|
|
|
|
|
} `yaml:"geTui"`
|
|
|
|
|
FCM struct {
|
|
|
|
|
FilePath string `mapstructure:"filePath"`
|
|
|
|
|
AuthURL string `mapstructure:"authURL"`
|
|
|
|
|
} `mapstructure:"fcm"`
|
|
|
|
|
FilePath string `yaml:"filePath"`
|
|
|
|
|
AuthURL string `yaml:"authURL"`
|
|
|
|
|
} `yaml:"fcm"`
|
|
|
|
|
JPush struct {
|
|
|
|
|
AppKey string `mapstructure:"appKey"`
|
|
|
|
|
MasterSecret string `mapstructure:"masterSecret"`
|
|
|
|
|
PushURL string `mapstructure:"pushURL"`
|
|
|
|
|
PushIntent string `mapstructure:"pushIntent"`
|
|
|
|
|
} `mapstructure:"jpush"`
|
|
|
|
|
AppKey string `yaml:"appKey"`
|
|
|
|
|
MasterSecret string `yaml:"masterSecret"`
|
|
|
|
|
PushURL string `yaml:"pushURL"`
|
|
|
|
|
PushIntent string `yaml:"pushIntent"`
|
|
|
|
|
} `yaml:"jpush"`
|
|
|
|
|
IOSPush struct {
|
|
|
|
|
PushSound string `mapstructure:"pushSound"`
|
|
|
|
|
BadgeCount bool `mapstructure:"badgeCount"`
|
|
|
|
|
Production bool `mapstructure:"production"`
|
|
|
|
|
} `mapstructure:"iosPush"`
|
|
|
|
|
FullUserCache bool `mapstructure:"fullUserCache"`
|
|
|
|
|
PushSound string `yaml:"pushSound"`
|
|
|
|
|
BadgeCount bool `yaml:"badgeCount"`
|
|
|
|
|
Production bool `yaml:"production"`
|
|
|
|
|
} `yaml:"iosPush"`
|
|
|
|
|
FullUserCache bool `yaml:"fullUserCache"`
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
type Auth struct {
|
|
|
|
|
RPC struct {
|
|
|
|
|
RegisterIP string `mapstructure:"registerIP"`
|
|
|
|
|
ListenIP string `mapstructure:"listenIP"`
|
|
|
|
|
AutoSetPorts bool `mapstructure:"autoSetPorts"`
|
|
|
|
|
Ports []int `mapstructure:"ports"`
|
|
|
|
|
} `mapstructure:"rpc"`
|
|
|
|
|
Prometheus Prometheus `mapstructure:"prometheus"`
|
|
|
|
|
RegisterIP string `yaml:"registerIP"`
|
|
|
|
|
ListenIP string `yaml:"listenIP"`
|
|
|
|
|
AutoSetPorts bool `yaml:"autoSetPorts"`
|
|
|
|
|
Ports []int `yaml:"ports"`
|
|
|
|
|
} `yaml:"rpc"`
|
|
|
|
|
Prometheus Prometheus `yaml:"prometheus"`
|
|
|
|
|
TokenPolicy struct {
|
|
|
|
|
Expire int64 `mapstructure:"expire"`
|
|
|
|
|
} `mapstructure:"tokenPolicy"`
|
|
|
|
|
Expire int64 `yaml:"expire"`
|
|
|
|
|
} `yaml:"tokenPolicy"`
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
type Conversation struct {
|
|
|
|
|
RPC struct {
|
|
|
|
|
RegisterIP string `mapstructure:"registerIP"`
|
|
|
|
|
ListenIP string `mapstructure:"listenIP"`
|
|
|
|
|
AutoSetPorts bool `mapstructure:"autoSetPorts"`
|
|
|
|
|
Ports []int `mapstructure:"ports"`
|
|
|
|
|
} `mapstructure:"rpc"`
|
|
|
|
|
Prometheus Prometheus `mapstructure:"prometheus"`
|
|
|
|
|
RegisterIP string `yaml:"registerIP"`
|
|
|
|
|
ListenIP string `yaml:"listenIP"`
|
|
|
|
|
AutoSetPorts bool `yaml:"autoSetPorts"`
|
|
|
|
|
Ports []int `yaml:"ports"`
|
|
|
|
|
} `yaml:"rpc"`
|
|
|
|
|
Prometheus Prometheus `yaml:"prometheus"`
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
type Friend struct {
|
|
|
|
|
RPC struct {
|
|
|
|
|
RegisterIP string `mapstructure:"registerIP"`
|
|
|
|
|
ListenIP string `mapstructure:"listenIP"`
|
|
|
|
|
AutoSetPorts bool `mapstructure:"autoSetPorts"`
|
|
|
|
|
Ports []int `mapstructure:"ports"`
|
|
|
|
|
} `mapstructure:"rpc"`
|
|
|
|
|
Prometheus Prometheus `mapstructure:"prometheus"`
|
|
|
|
|
RegisterIP string `yaml:"registerIP"`
|
|
|
|
|
ListenIP string `yaml:"listenIP"`
|
|
|
|
|
AutoSetPorts bool `yaml:"autoSetPorts"`
|
|
|
|
|
Ports []int `yaml:"ports"`
|
|
|
|
|
} `yaml:"rpc"`
|
|
|
|
|
Prometheus Prometheus `yaml:"prometheus"`
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
type Group struct {
|
|
|
|
|
RPC struct {
|
|
|
|
|
RegisterIP string `mapstructure:"registerIP"`
|
|
|
|
|
ListenIP string `mapstructure:"listenIP"`
|
|
|
|
|
AutoSetPorts bool `mapstructure:"autoSetPorts"`
|
|
|
|
|
Ports []int `mapstructure:"ports"`
|
|
|
|
|
} `mapstructure:"rpc"`
|
|
|
|
|
Prometheus Prometheus `mapstructure:"prometheus"`
|
|
|
|
|
EnableHistoryForNewMembers bool `mapstructure:"enableHistoryForNewMembers"`
|
|
|
|
|
RegisterIP string `yaml:"registerIP"`
|
|
|
|
|
ListenIP string `yaml:"listenIP"`
|
|
|
|
|
AutoSetPorts bool `yaml:"autoSetPorts"`
|
|
|
|
|
Ports []int `yaml:"ports"`
|
|
|
|
|
} `yaml:"rpc"`
|
|
|
|
|
Prometheus Prometheus `yaml:"prometheus"`
|
|
|
|
|
EnableHistoryForNewMembers bool `yaml:"enableHistoryForNewMembers"`
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
type Msg struct {
|
|
|
|
|
RPC struct {
|
|
|
|
|
RegisterIP string `mapstructure:"registerIP"`
|
|
|
|
|
ListenIP string `mapstructure:"listenIP"`
|
|
|
|
|
AutoSetPorts bool `mapstructure:"autoSetPorts"`
|
|
|
|
|
Ports []int `mapstructure:"ports"`
|
|
|
|
|
} `mapstructure:"rpc"`
|
|
|
|
|
Prometheus Prometheus `mapstructure:"prometheus"`
|
|
|
|
|
FriendVerify bool `mapstructure:"friendVerify"`
|
|
|
|
|
RegisterIP string `yaml:"registerIP"`
|
|
|
|
|
ListenIP string `yaml:"listenIP"`
|
|
|
|
|
AutoSetPorts bool `yaml:"autoSetPorts"`
|
|
|
|
|
Ports []int `yaml:"ports"`
|
|
|
|
|
} `yaml:"rpc"`
|
|
|
|
|
Prometheus Prometheus `yaml:"prometheus"`
|
|
|
|
|
FriendVerify bool `yaml:"friendVerify"`
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
type Third struct {
|
|
|
|
|
RPC struct {
|
|
|
|
|
RegisterIP string `mapstructure:"registerIP"`
|
|
|
|
|
ListenIP string `mapstructure:"listenIP"`
|
|
|
|
|
AutoSetPorts bool `mapstructure:"autoSetPorts"`
|
|
|
|
|
Ports []int `mapstructure:"ports"`
|
|
|
|
|
} `mapstructure:"rpc"`
|
|
|
|
|
Prometheus Prometheus `mapstructure:"prometheus"`
|
|
|
|
|
RegisterIP string `yaml:"registerIP"`
|
|
|
|
|
ListenIP string `yaml:"listenIP"`
|
|
|
|
|
AutoSetPorts bool `yaml:"autoSetPorts"`
|
|
|
|
|
Ports []int `yaml:"ports"`
|
|
|
|
|
} `yaml:"rpc"`
|
|
|
|
|
Prometheus Prometheus `yaml:"prometheus"`
|
|
|
|
|
Object struct {
|
|
|
|
|
Enable string `mapstructure:"enable"`
|
|
|
|
|
Cos Cos `mapstructure:"cos"`
|
|
|
|
|
Oss Oss `mapstructure:"oss"`
|
|
|
|
|
Kodo Kodo `mapstructure:"kodo"`
|
|
|
|
|
Aws Aws `mapstructure:"aws"`
|
|
|
|
|
} `mapstructure:"object"`
|
|
|
|
|
Enable string `yaml:"enable"`
|
|
|
|
|
Cos Cos `yaml:"cos"`
|
|
|
|
|
Oss Oss `yaml:"oss"`
|
|
|
|
|
Kodo Kodo `yaml:"kodo"`
|
|
|
|
|
Aws Aws `yaml:"aws"`
|
|
|
|
|
} `yaml:"object"`
|
|
|
|
|
}
|
|
|
|
|
type Cos struct {
|
|
|
|
|
BucketURL string `mapstructure:"bucketURL"`
|
|
|
|
|
SecretID string `mapstructure:"secretID"`
|
|
|
|
|
SecretKey string `mapstructure:"secretKey"`
|
|
|
|
|
SessionToken string `mapstructure:"sessionToken"`
|
|
|
|
|
PublicRead bool `mapstructure:"publicRead"`
|
|
|
|
|
BucketURL string `yaml:"bucketURL"`
|
|
|
|
|
SecretID string `yaml:"secretID"`
|
|
|
|
|
SecretKey string `yaml:"secretKey"`
|
|
|
|
|
SessionToken string `yaml:"sessionToken"`
|
|
|
|
|
PublicRead bool `yaml:"publicRead"`
|
|
|
|
|
}
|
|
|
|
|
type Oss struct {
|
|
|
|
|
Endpoint string `mapstructure:"endpoint"`
|
|
|
|
|
Bucket string `mapstructure:"bucket"`
|
|
|
|
|
BucketURL string `mapstructure:"bucketURL"`
|
|
|
|
|
AccessKeyID string `mapstructure:"accessKeyID"`
|
|
|
|
|
AccessKeySecret string `mapstructure:"accessKeySecret"`
|
|
|
|
|
SessionToken string `mapstructure:"sessionToken"`
|
|
|
|
|
PublicRead bool `mapstructure:"publicRead"`
|
|
|
|
|
Endpoint string `yaml:"endpoint"`
|
|
|
|
|
Bucket string `yaml:"bucket"`
|
|
|
|
|
BucketURL string `yaml:"bucketURL"`
|
|
|
|
|
AccessKeyID string `yaml:"accessKeyID"`
|
|
|
|
|
AccessKeySecret string `yaml:"accessKeySecret"`
|
|
|
|
|
SessionToken string `yaml:"sessionToken"`
|
|
|
|
|
PublicRead bool `yaml:"publicRead"`
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
type Kodo struct {
|
|
|
|
|
Endpoint string `mapstructure:"endpoint"`
|
|
|
|
|
Bucket string `mapstructure:"bucket"`
|
|
|
|
|
BucketURL string `mapstructure:"bucketURL"`
|
|
|
|
|
AccessKeyID string `mapstructure:"accessKeyID"`
|
|
|
|
|
AccessKeySecret string `mapstructure:"accessKeySecret"`
|
|
|
|
|
SessionToken string `mapstructure:"sessionToken"`
|
|
|
|
|
PublicRead bool `mapstructure:"publicRead"`
|
|
|
|
|
Endpoint string `yaml:"endpoint"`
|
|
|
|
|
Bucket string `yaml:"bucket"`
|
|
|
|
|
BucketURL string `yaml:"bucketURL"`
|
|
|
|
|
AccessKeyID string `yaml:"accessKeyID"`
|
|
|
|
|
AccessKeySecret string `yaml:"accessKeySecret"`
|
|
|
|
|
SessionToken string `yaml:"sessionToken"`
|
|
|
|
|
PublicRead bool `yaml:"publicRead"`
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
type Aws struct {
|
|
|
|
|
Region string `mapstructure:"region"`
|
|
|
|
|
Bucket string `mapstructure:"bucket"`
|
|
|
|
|
AccessKeyID string `mapstructure:"accessKeyID"`
|
|
|
|
|
SecretAccessKey string `mapstructure:"secretAccessKey"`
|
|
|
|
|
SessionToken string `mapstructure:"sessionToken"`
|
|
|
|
|
PublicRead bool `mapstructure:"publicRead"`
|
|
|
|
|
Region string `yaml:"region"`
|
|
|
|
|
Bucket string `yaml:"bucket"`
|
|
|
|
|
AccessKeyID string `yaml:"accessKeyID"`
|
|
|
|
|
SecretAccessKey string `yaml:"secretAccessKey"`
|
|
|
|
|
SessionToken string `yaml:"sessionToken"`
|
|
|
|
|
PublicRead bool `yaml:"publicRead"`
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
type User struct {
|
|
|
|
|
RPC struct {
|
|
|
|
|
RegisterIP string `mapstructure:"registerIP"`
|
|
|
|
|
ListenIP string `mapstructure:"listenIP"`
|
|
|
|
|
AutoSetPorts bool `mapstructure:"autoSetPorts"`
|
|
|
|
|
Ports []int `mapstructure:"ports"`
|
|
|
|
|
} `mapstructure:"rpc"`
|
|
|
|
|
Prometheus Prometheus `mapstructure:"prometheus"`
|
|
|
|
|
RegisterIP string `yaml:"registerIP"`
|
|
|
|
|
ListenIP string `yaml:"listenIP"`
|
|
|
|
|
AutoSetPorts bool `yaml:"autoSetPorts"`
|
|
|
|
|
Ports []int `yaml:"ports"`
|
|
|
|
|
} `yaml:"rpc"`
|
|
|
|
|
Prometheus Prometheus `yaml:"prometheus"`
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
type Redis struct {
|
|
|
|
|
Address []string `mapstructure:"address"`
|
|
|
|
|
Username string `mapstructure:"username"`
|
|
|
|
|
Password string `mapstructure:"password"`
|
|
|
|
|
ClusterMode bool `mapstructure:"clusterMode"`
|
|
|
|
|
DB int `mapstructure:"storage"`
|
|
|
|
|
MaxRetry int `mapstructure:"maxRetry"`
|
|
|
|
|
PoolSize int `mapstructure:"poolSize"`
|
|
|
|
|
Address []string `yaml:"address"`
|
|
|
|
|
Username string `yaml:"username"`
|
|
|
|
|
Password string `yaml:"password"`
|
|
|
|
|
ClusterMode bool `yaml:"clusterMode"`
|
|
|
|
|
DB int `yaml:"storage"`
|
|
|
|
|
MaxRetry int `yaml:"maxRetry"`
|
|
|
|
|
PoolSize int `yaml:"poolSize"`
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
type BeforeConfig struct {
|
|
|
|
|
Enable bool `mapstructure:"enable"`
|
|
|
|
|
Timeout int `mapstructure:"timeout"`
|
|
|
|
|
FailedContinue bool `mapstructure:"failedContinue"`
|
|
|
|
|
AllowedTypes []string `mapstructure:"allowedTypes"`
|
|
|
|
|
DeniedTypes []string `mapstructure:"deniedTypes"`
|
|
|
|
|
Enable bool `yaml:"enable"`
|
|
|
|
|
Timeout int `yaml:"timeout"`
|
|
|
|
|
FailedContinue bool `yaml:"failedContinue"`
|
|
|
|
|
AllowedTypes []string `yaml:"allowedTypes"`
|
|
|
|
|
DeniedTypes []string `yaml:"deniedTypes"`
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
type AfterConfig struct {
|
|
|
|
|
Enable bool `mapstructure:"enable"`
|
|
|
|
|
Timeout int `mapstructure:"timeout"`
|
|
|
|
|
AttentionIds []string `mapstructure:"attentionIds"`
|
|
|
|
|
AllowedTypes []string `mapstructure:"allowedTypes"`
|
|
|
|
|
DeniedTypes []string `mapstructure:"deniedTypes"`
|
|
|
|
|
Enable bool `yaml:"enable"`
|
|
|
|
|
Timeout int `yaml:"timeout"`
|
|
|
|
|
AttentionIds []string `yaml:"attentionIds"`
|
|
|
|
|
AllowedTypes []string `yaml:"allowedTypes"`
|
|
|
|
|
DeniedTypes []string `yaml:"deniedTypes"`
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
type Share struct {
|
|
|
|
|
Secret string `mapstructure:"secret"`
|
|
|
|
|
IMAdminUserID []string `mapstructure:"imAdminUserID"`
|
|
|
|
|
MultiLogin MultiLogin `mapstructure:"multiLogin"`
|
|
|
|
|
Secret string `yaml:"secret"`
|
|
|
|
|
IMAdminUserID []string `yaml:"imAdminUserID"`
|
|
|
|
|
MultiLogin MultiLogin `yaml:"multiLogin"`
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
type MultiLogin struct {
|
|
|
|
|
Policy int `mapstructure:"policy"`
|
|
|
|
|
MaxNumOneEnd int `mapstructure:"maxNumOneEnd"`
|
|
|
|
|
Policy int `yaml:"policy"`
|
|
|
|
|
MaxNumOneEnd int `yaml:"maxNumOneEnd"`
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
type RpcService struct {
|
|
|
|
|
User string `mapstructure:"user"`
|
|
|
|
|
Friend string `mapstructure:"friend"`
|
|
|
|
|
Msg string `mapstructure:"msg"`
|
|
|
|
|
Push string `mapstructure:"push"`
|
|
|
|
|
MessageGateway string `mapstructure:"messageGateway"`
|
|
|
|
|
Group string `mapstructure:"group"`
|
|
|
|
|
Auth string `mapstructure:"auth"`
|
|
|
|
|
Conversation string `mapstructure:"conversation"`
|
|
|
|
|
Third string `mapstructure:"third"`
|
|
|
|
|
User string `yaml:"user"`
|
|
|
|
|
Friend string `yaml:"friend"`
|
|
|
|
|
Msg string `yaml:"msg"`
|
|
|
|
|
Push string `yaml:"push"`
|
|
|
|
|
MessageGateway string `yaml:"messageGateway"`
|
|
|
|
|
Group string `yaml:"group"`
|
|
|
|
|
Auth string `yaml:"auth"`
|
|
|
|
|
Conversation string `yaml:"conversation"`
|
|
|
|
|
Third string `yaml:"third"`
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func (r *RpcService) GetServiceNames() []string {
|
|
|
|
@ -418,80 +420,80 @@ func (r *RpcService) GetServiceNames() []string {
|
|
|
|
|
|
|
|
|
|
// FullConfig stores all configurations for before and after events
|
|
|
|
|
type Webhooks struct {
|
|
|
|
|
URL string `mapstructure:"url"`
|
|
|
|
|
BeforeSendSingleMsg BeforeConfig `mapstructure:"beforeSendSingleMsg"`
|
|
|
|
|
BeforeUpdateUserInfoEx BeforeConfig `mapstructure:"beforeUpdateUserInfoEx"`
|
|
|
|
|
AfterUpdateUserInfoEx AfterConfig `mapstructure:"afterUpdateUserInfoEx"`
|
|
|
|
|
AfterSendSingleMsg AfterConfig `mapstructure:"afterSendSingleMsg"`
|
|
|
|
|
BeforeSendGroupMsg BeforeConfig `mapstructure:"beforeSendGroupMsg"`
|
|
|
|
|
BeforeMsgModify BeforeConfig `mapstructure:"beforeMsgModify"`
|
|
|
|
|
AfterSendGroupMsg AfterConfig `mapstructure:"afterSendGroupMsg"`
|
|
|
|
|
AfterUserOnline AfterConfig `mapstructure:"afterUserOnline"`
|
|
|
|
|
AfterUserOffline AfterConfig `mapstructure:"afterUserOffline"`
|
|
|
|
|
AfterUserKickOff AfterConfig `mapstructure:"afterUserKickOff"`
|
|
|
|
|
BeforeOfflinePush BeforeConfig `mapstructure:"beforeOfflinePush"`
|
|
|
|
|
BeforeOnlinePush BeforeConfig `mapstructure:"beforeOnlinePush"`
|
|
|
|
|
BeforeGroupOnlinePush BeforeConfig `mapstructure:"beforeGroupOnlinePush"`
|
|
|
|
|
BeforeAddFriend BeforeConfig `mapstructure:"beforeAddFriend"`
|
|
|
|
|
BeforeUpdateUserInfo BeforeConfig `mapstructure:"beforeUpdateUserInfo"`
|
|
|
|
|
AfterUpdateUserInfo AfterConfig `mapstructure:"afterUpdateUserInfo"`
|
|
|
|
|
BeforeCreateGroup BeforeConfig `mapstructure:"beforeCreateGroup"`
|
|
|
|
|
AfterCreateGroup AfterConfig `mapstructure:"afterCreateGroup"`
|
|
|
|
|
BeforeMemberJoinGroup BeforeConfig `mapstructure:"beforeMemberJoinGroup"`
|
|
|
|
|
BeforeSetGroupMemberInfo BeforeConfig `mapstructure:"beforeSetGroupMemberInfo"`
|
|
|
|
|
AfterSetGroupMemberInfo AfterConfig `mapstructure:"afterSetGroupMemberInfo"`
|
|
|
|
|
AfterQuitGroup AfterConfig `mapstructure:"afterQuitGroup"`
|
|
|
|
|
AfterKickGroupMember AfterConfig `mapstructure:"afterKickGroupMember"`
|
|
|
|
|
AfterDismissGroup AfterConfig `mapstructure:"afterDismissGroup"`
|
|
|
|
|
BeforeApplyJoinGroup BeforeConfig `mapstructure:"beforeApplyJoinGroup"`
|
|
|
|
|
AfterGroupMsgRead AfterConfig `mapstructure:"afterGroupMsgRead"`
|
|
|
|
|
AfterSingleMsgRead AfterConfig `mapstructure:"afterSingleMsgRead"`
|
|
|
|
|
BeforeUserRegister BeforeConfig `mapstructure:"beforeUserRegister"`
|
|
|
|
|
AfterUserRegister AfterConfig `mapstructure:"afterUserRegister"`
|
|
|
|
|
AfterTransferGroupOwner AfterConfig `mapstructure:"afterTransferGroupOwner"`
|
|
|
|
|
BeforeSetFriendRemark BeforeConfig `mapstructure:"beforeSetFriendRemark"`
|
|
|
|
|
AfterSetFriendRemark AfterConfig `mapstructure:"afterSetFriendRemark"`
|
|
|
|
|
AfterGroupMsgRevoke AfterConfig `mapstructure:"afterGroupMsgRevoke"`
|
|
|
|
|
AfterJoinGroup AfterConfig `mapstructure:"afterJoinGroup"`
|
|
|
|
|
BeforeInviteUserToGroup BeforeConfig `mapstructure:"beforeInviteUserToGroup"`
|
|
|
|
|
AfterSetGroupInfo AfterConfig `mapstructure:"afterSetGroupInfo"`
|
|
|
|
|
BeforeSetGroupInfo BeforeConfig `mapstructure:"beforeSetGroupInfo"`
|
|
|
|
|
AfterSetGroupInfoEx AfterConfig `mapstructure:"afterSetGroupInfoEx"`
|
|
|
|
|
BeforeSetGroupInfoEx BeforeConfig `mapstructure:"beforeSetGroupInfoEx"`
|
|
|
|
|
AfterRevokeMsg AfterConfig `mapstructure:"afterRevokeMsg"`
|
|
|
|
|
BeforeAddBlack BeforeConfig `mapstructure:"beforeAddBlack"`
|
|
|
|
|
AfterAddFriend AfterConfig `mapstructure:"afterAddFriend"`
|
|
|
|
|
BeforeAddFriendAgree BeforeConfig `mapstructure:"beforeAddFriendAgree"`
|
|
|
|
|
AfterAddFriendAgree AfterConfig `mapstructure:"afterAddFriendAgree"`
|
|
|
|
|
AfterDeleteFriend AfterConfig `mapstructure:"afterDeleteFriend"`
|
|
|
|
|
BeforeImportFriends BeforeConfig `mapstructure:"beforeImportFriends"`
|
|
|
|
|
AfterImportFriends AfterConfig `mapstructure:"afterImportFriends"`
|
|
|
|
|
AfterRemoveBlack AfterConfig `mapstructure:"afterRemoveBlack"`
|
|
|
|
|
URL string `yaml:"url"`
|
|
|
|
|
BeforeSendSingleMsg BeforeConfig `yaml:"beforeSendSingleMsg"`
|
|
|
|
|
BeforeUpdateUserInfoEx BeforeConfig `yaml:"beforeUpdateUserInfoEx"`
|
|
|
|
|
AfterUpdateUserInfoEx AfterConfig `yaml:"afterUpdateUserInfoEx"`
|
|
|
|
|
AfterSendSingleMsg AfterConfig `yaml:"afterSendSingleMsg"`
|
|
|
|
|
BeforeSendGroupMsg BeforeConfig `yaml:"beforeSendGroupMsg"`
|
|
|
|
|
BeforeMsgModify BeforeConfig `yaml:"beforeMsgModify"`
|
|
|
|
|
AfterSendGroupMsg AfterConfig `yaml:"afterSendGroupMsg"`
|
|
|
|
|
AfterUserOnline AfterConfig `yaml:"afterUserOnline"`
|
|
|
|
|
AfterUserOffline AfterConfig `yaml:"afterUserOffline"`
|
|
|
|
|
AfterUserKickOff AfterConfig `yaml:"afterUserKickOff"`
|
|
|
|
|
BeforeOfflinePush BeforeConfig `yaml:"beforeOfflinePush"`
|
|
|
|
|
BeforeOnlinePush BeforeConfig `yaml:"beforeOnlinePush"`
|
|
|
|
|
BeforeGroupOnlinePush BeforeConfig `yaml:"beforeGroupOnlinePush"`
|
|
|
|
|
BeforeAddFriend BeforeConfig `yaml:"beforeAddFriend"`
|
|
|
|
|
BeforeUpdateUserInfo BeforeConfig `yaml:"beforeUpdateUserInfo"`
|
|
|
|
|
AfterUpdateUserInfo AfterConfig `yaml:"afterUpdateUserInfo"`
|
|
|
|
|
BeforeCreateGroup BeforeConfig `yaml:"beforeCreateGroup"`
|
|
|
|
|
AfterCreateGroup AfterConfig `yaml:"afterCreateGroup"`
|
|
|
|
|
BeforeMemberJoinGroup BeforeConfig `yaml:"beforeMemberJoinGroup"`
|
|
|
|
|
BeforeSetGroupMemberInfo BeforeConfig `yaml:"beforeSetGroupMemberInfo"`
|
|
|
|
|
AfterSetGroupMemberInfo AfterConfig `yaml:"afterSetGroupMemberInfo"`
|
|
|
|
|
AfterQuitGroup AfterConfig `yaml:"afterQuitGroup"`
|
|
|
|
|
AfterKickGroupMember AfterConfig `yaml:"afterKickGroupMember"`
|
|
|
|
|
AfterDismissGroup AfterConfig `yaml:"afterDismissGroup"`
|
|
|
|
|
BeforeApplyJoinGroup BeforeConfig `yaml:"beforeApplyJoinGroup"`
|
|
|
|
|
AfterGroupMsgRead AfterConfig `yaml:"afterGroupMsgRead"`
|
|
|
|
|
AfterSingleMsgRead AfterConfig `yaml:"afterSingleMsgRead"`
|
|
|
|
|
BeforeUserRegister BeforeConfig `yaml:"beforeUserRegister"`
|
|
|
|
|
AfterUserRegister AfterConfig `yaml:"afterUserRegister"`
|
|
|
|
|
AfterTransferGroupOwner AfterConfig `yaml:"afterTransferGroupOwner"`
|
|
|
|
|
BeforeSetFriendRemark BeforeConfig `yaml:"beforeSetFriendRemark"`
|
|
|
|
|
AfterSetFriendRemark AfterConfig `yaml:"afterSetFriendRemark"`
|
|
|
|
|
AfterGroupMsgRevoke AfterConfig `yaml:"afterGroupMsgRevoke"`
|
|
|
|
|
AfterJoinGroup AfterConfig `yaml:"afterJoinGroup"`
|
|
|
|
|
BeforeInviteUserToGroup BeforeConfig `yaml:"beforeInviteUserToGroup"`
|
|
|
|
|
AfterSetGroupInfo AfterConfig `yaml:"afterSetGroupInfo"`
|
|
|
|
|
BeforeSetGroupInfo BeforeConfig `yaml:"beforeSetGroupInfo"`
|
|
|
|
|
AfterSetGroupInfoEx AfterConfig `yaml:"afterSetGroupInfoEx"`
|
|
|
|
|
BeforeSetGroupInfoEx BeforeConfig `yaml:"beforeSetGroupInfoEx"`
|
|
|
|
|
AfterRevokeMsg AfterConfig `yaml:"afterRevokeMsg"`
|
|
|
|
|
BeforeAddBlack BeforeConfig `yaml:"beforeAddBlack"`
|
|
|
|
|
AfterAddFriend AfterConfig `yaml:"afterAddFriend"`
|
|
|
|
|
BeforeAddFriendAgree BeforeConfig `yaml:"beforeAddFriendAgree"`
|
|
|
|
|
AfterAddFriendAgree AfterConfig `yaml:"afterAddFriendAgree"`
|
|
|
|
|
AfterDeleteFriend AfterConfig `yaml:"afterDeleteFriend"`
|
|
|
|
|
BeforeImportFriends BeforeConfig `yaml:"beforeImportFriends"`
|
|
|
|
|
AfterImportFriends AfterConfig `yaml:"afterImportFriends"`
|
|
|
|
|
AfterRemoveBlack AfterConfig `yaml:"afterRemoveBlack"`
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
type ZooKeeper struct {
|
|
|
|
|
Schema string `mapstructure:"schema"`
|
|
|
|
|
Address []string `mapstructure:"address"`
|
|
|
|
|
Username string `mapstructure:"username"`
|
|
|
|
|
Password string `mapstructure:"password"`
|
|
|
|
|
Schema string `yaml:"schema"`
|
|
|
|
|
Address []string `yaml:"address"`
|
|
|
|
|
Username string `yaml:"username"`
|
|
|
|
|
Password string `yaml:"password"`
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
type Discovery struct {
|
|
|
|
|
Enable string `mapstructure:"enable"`
|
|
|
|
|
Etcd Etcd `mapstructure:"etcd"`
|
|
|
|
|
Kubernetes Kubernetes `mapstructure:"kubernetes"`
|
|
|
|
|
RpcService RpcService `mapstructure:"rpcService"`
|
|
|
|
|
Enable string `yaml:"enable"`
|
|
|
|
|
Etcd Etcd `yaml:"etcd"`
|
|
|
|
|
Kubernetes Kubernetes `yaml:"kubernetes"`
|
|
|
|
|
RpcService RpcService `yaml:"rpcService"`
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
type Kubernetes struct {
|
|
|
|
|
Namespace string `mapstructure:"namespace"`
|
|
|
|
|
Namespace string `yaml:"namespace"`
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
type Etcd struct {
|
|
|
|
|
RootDirectory string `mapstructure:"rootDirectory"`
|
|
|
|
|
Address []string `mapstructure:"address"`
|
|
|
|
|
Username string `mapstructure:"username"`
|
|
|
|
|
Password string `mapstructure:"password"`
|
|
|
|
|
RootDirectory string `yaml:"rootDirectory"`
|
|
|
|
|
Address []string `yaml:"address"`
|
|
|
|
|
Username string `yaml:"username"`
|
|
|
|
|
Password string `yaml:"password"`
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func (m *Mongo) Build() *mongoutil.Config {
|
|
|
|
@ -783,7 +785,7 @@ func (a *AllConfig) GetConfigNames() []string {
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
var (
|
|
|
|
|
const (
|
|
|
|
|
FileName = "config.yaml"
|
|
|
|
|
DiscoveryConfigFilename = "discovery.yml"
|
|
|
|
|
KafkaConfigFileName = "kafka.yml"
|
|
|
|
|