notification

This commit is contained in:
skiffer-git 2021-12-19 21:03:05 +08:00
parent b84dbbc3b8
commit 264451d923
5 changed files with 1640 additions and 288 deletions

View File

@ -160,17 +160,35 @@ messagecallback:
stateChange:
switch: false
iOSPush:
pushSound: "xxx"
badgeCount: 1
notification:
groupCreated:
conversation:
conversationChanged: 1
unreadCount: 1
offlinePush:
switch: true
createGroup:
title: "create group title"
desc: "create group desc"
ext: "create group ext"
quitGroup:
title: "quit group title"
desc: "quit group desc"
ext: "quit group ext"
defaultTips:
tips: "create the group" # xx create the group
groupInfoChanged:
conversation:
conversationChanged: 1
unreadCount: 1
offlinePush:
switch: true
title: "group info changed title"
desc: "group info changed desc"
ext: "group info changed ext"
defaultTips:
tips: "group info changed by" # group info changed by xx
conversationChanged: 0
#---------------demo configuration---------------------#

View File

@ -213,26 +213,24 @@ func CreateGroupNotification(sendID string, creator im_mysql_model.User, group i
msg.SessionType = constant.GroupChatType
msg.MsgFrom = constant.SysMsgType
var tip open_im_sdk.CreateGroupTip
tip.Group = &open_im_sdk.GroupInfoTip{}
utils.CopyStructFields(tip.Group, group)
tip.Creator = &open_im_sdk.UserInfoTip{}
utils.CopyStructFields(tip.Creator, creator)
var groupCreated open_im_sdk.GroupCreatedTips
groupCreated.Group = &open_im_sdk.GroupInfo{}
utils.CopyStructFields(groupCreated.Group, group)
groupCreated.Creator = &open_im_sdk.GroupMemberFullInfo{}
utils.CopyStructFields(groupCreated.Creator, creator)
for _, v := range memberList {
var groupMemberInfo open_im_sdk.GroupMemberFullInfoTip
var groupMemberInfo open_im_sdk.GroupMemberFullInfo
utils.CopyStructFields(&groupMemberInfo, v)
tip.MemberList = append(tip.MemberList, &groupMemberInfo)
groupCreated.MemberList = append(groupCreated.MemberList, &groupMemberInfo)
}
var tips open_im_sdk.TipsComm
tips.Detail = utils.StructToJsonString(groupCreated)
tips.DefaultTips = creator.Name + " " + config.Config.DefaultTips.GroupCreatedTips
msg.Content = utils.StructToJsonString(tips)
Notification(&msg, false)
}
msg.Content = utils.StructToJsonString(tip)
var offlinePushInfo open_im_sdk.OfflinePushInfo
offlinePushInfo.Title = config.Config.Notification.CreateGroup.Title
offlinePushInfo.Desc = config.Config.Notification.CreateGroup.Desc
offlinePushInfo.Ext = config.Config.Notification.CreateGroup.Ext
Notification(&msg, false, offlinePushInfo)
}
func Notification(m *WSToMsgSvrChatMsg, onlineUserOnly bool, offlinePushInfo open_im_sdk.OfflinePushInfo) {
func Notification(m *WSToMsgSvrChatMsg, onlineUserOnly bool) {
}

View File

@ -172,19 +172,30 @@ type config struct {
SmtpPort int `yaml:"smtpPort"`
}
}
//notification:
// groupCreated:
// offlinePush:
// switch: true
// title: "create group title"
// desc: "create group desc"
// ext: "create group ext"
// defaultTips:
// tips: "create the group" # xx create the group
// conversationChanged: 1
//
Notification struct {
GroupCreated struct {
OfflinePush struct {
Switch bool `yaml:"switch"`
}
CreateGroup struct {
Title string `yaml:"title"`
Desc string `yaml:"desc"`
Ext string `yaml:"ext"`
}
QuiteGroup struct {
Title string `yaml:"title"`
Desc string `yaml:"desc"`
Ext string `yaml:"ext"`
DefaultTips struct {
GroupCreatedTips string `yaml:"croupCreatedTips"`
GroupInfoChangedTips string `yaml:"groupInfoChangedTips"`
}
}
}
}

File diff suppressed because it is too large Load Diff

View File

@ -93,38 +93,33 @@ message OfflinePushInfo{
string Ext = 3;
}
message GroupInfoTip{
//public
message GroupInfo{
string GroupID = 1;
string GroupName = 2;
string Notification = 3;
string Introduction = 4;
string FaceUrl = 5;
string Ex = 6;
string OwnerID = 7;
PublicUserInfo Owner = 7;
uint64 CreateTime = 8;
uint32 MemberCount = 9;
}
message GroupMemberFullInfoTip {
string GroupId = 1 ;
string UserId = 2 ;
//private, Group members have permission to view
message GroupMemberFullInfo {
string GroupID = 1 ;
string UserID = 2 ;
int32 Role = 3;
uint64 JoinTime = 4;
string NickName = 5;
string FaceUrl = 6;
string FriendRemark = 7;
}
message CreateGroupTip{
GroupInfoTip Group = 1;
UserInfoTip Creator = 2;
repeated GroupMemberFullInfoTip MemberList = 3;
}
message UserInfoTip {
//private, Friends have permission to view
message UserInfo{
string UserID = 1;
string Name = 2;
string Icon = 3;
@ -135,4 +130,140 @@ message UserInfoTip {
string Ex = 8;
}
//No permissions required
message PublicUserInfo{
string UserID = 1;
string Name = 2;
string Icon = 3;
int32 Gender = 4;
}
message TipsComm{
string Detail = 1;
string DefaultTips = 2;
}
//////////////////////group/////////////////////
//Actively join the group
message MemberEnterTips{
GroupInfo Group = 1;
GroupMemberFullInfo Member = 2;
uint64 OperationTime = 3;
}
//Actively leave the group
message MemberLeaveTips{
GroupInfo Group = 1;
GroupMemberFullInfo Member = 2;
uint64 OperationTime = 3;
}
message MemberInvitedTips{
GroupInfo Group = 1;
GroupMemberFullInfo OpUser = 2;
GroupMemberFullInfo Member = 3;
uint64 OperationTime = 4;
}
message MemberKickedTips{
GroupInfo Group = 1;
GroupMemberFullInfo OpUser = 2;
GroupMemberFullInfo Member = 3;
uint64 OperationTime = 4;
}
message GroupMemberChangeInfo{
int32 ChangeType = 1; //1:info changed; 2:mute
GroupMemberFullInfo OpUser = 2; //who do this
GroupMemberFullInfo Member = 3;
uint64 MuteTime = 4;
}
message MemberInfoChangedTips{
GroupInfo Group = 1;
GroupMemberChangeInfo MemberChanged = 2;
}
message GroupCreatedTips{
GroupInfo Group = 1;
GroupMemberFullInfo Creator = 2;
repeated GroupMemberFullInfo MemberList = 3;
uint64 OperationTime = 4;
}
message GroupInfoChangedTips{
int32 ChangedType = 1; //1:name;2:Notification ...
GroupInfo Group = 2;
GroupMemberFullInfo OpUser = 3;
}
message ReceiveJoinApplicationTips{
GroupInfo Group = 1;
GroupMemberFullInfo Member = 2;
string Reason = 3;
}
message ApplicationProcessedTips{
GroupInfo Group = 1;
GroupMemberFullInfo OpUser = 2;
int32 Result = 3;
string Reason = 4;
}
//////////////////////friend/////////////////////
message FriendInfo{
string OwnerUserID = 1;
string Remark = 2;
uint64 CreateTime = 3;
UserInfo FriendUserInfo = 4;
}
message FriendApplication{
uint64 AddTime = 4;
string AddSource = 5;
string AddWording = 6;
}
//user1 add user2
message FriendApplicationListAddedTips{
PublicUserInfo OpUser = 1; //user1
FriendApplication Application = 2;
PublicUserInfo OpedUser = 3; //user2
}
// user2 accept
message FriendApplicationListAcceptTips{
PublicUserInfo OpUser = 1; //user2
PublicUserInfo OpedUser = 2; //user1
}
// user2 reject
message FriendApplicationListRejectTips{
PublicUserInfo OpUser = 1; //user2
PublicUserInfo OpedUser = 2; //user1
}
message FriendListAddedTips{
FriendInfo Friend = 1;
}
message FriendListDeletedTips{
FriendInfo Friend = 1;
}
message BlackListAddTips{
FriendInfo Friend = 1;
}
message BlackListDeletedTips{
FriendInfo Friend = 1;
}
message FriendInfoChangedTips{
FriendInfo Friend = 1;
}
//////////////////////user/////////////////////
message SelfInfoUpdatedTips{
UserInfo SelfUserInfo = 1;
}