no message

This commit is contained in:
cpdl
2025-05-06 17:22:46 +08:00
parent d6c0efdd3e
commit b38fb66830
8 changed files with 246 additions and 11 deletions

View File

@@ -75,8 +75,20 @@ const (
COMPLETE
CONVERSATION_USER_INPUT_STATUS_CHANGED
RECV_ONLINE_ONLY_MESSAGE
NEW_RECV_MESSAGE_EDIT
USER_TOKEN_INVALID
ON_PROGRESS
JOINED_CHANNEL_ADDED
JOINED_CHANNEL_DELETED
CHANNEL_MEMBER_ADDED
CHANNEL_MEMBER_DELETED
CHANNEL_APPLICATION_ADDED
CHANNEL_APPLICATION_DELETED
CHANNEL_INFO_CHANGED
CHANNEL_DISMISSED
CHANNEL_MEMBER_INFO_CHANGED
CHANNEL_APPLICATION_ACCEPTED
CHANNEL_APPLICATION_REJECTED
)

View File

@@ -174,6 +174,10 @@ func (a AdvancedMsgCallback) OnRecvOnlineOnlyMessage(message string) {
C.Call_CB_I_S(a.cCallback, RECV_ONLINE_ONLY_MESSAGE, C.CString(message))
}
func (a AdvancedMsgCallback) OnNewRecvMessageEdited(message string) {
C.Call_CB_I_S(a.cCallback, NEW_RECV_MESSAGE_EDIT, C.CString(message))
}
type BatchMessageCallback struct {
cCallback C.CB_I_S
}
@@ -286,6 +290,58 @@ func (g GroupCallback) OnGroupApplicationRejected(groupApplication string) {
C.Call_CB_I_S(g.cCallback, GROUP_APPLICATION_REJECTED, C.CString(groupApplication))
}
type ChannelCallback struct {
cCallback C.CB_I_S
}
func NewChannelCallback(cCallback C.CB_I_S) *ChannelCallback {
return &ChannelCallback{cCallback: cCallback}
}
func (g ChannelCallback) OnJoinedChannelAdded(channelInfo string) {
C.Call_CB_I_S(g.cCallback, JOINED_CHANNEL_ADDED, C.CString(channelInfo))
}
func (g ChannelCallback) OnJoinedChannelDeleted(channelInfo string) {
C.Call_CB_I_S(g.cCallback, JOINED_CHANNEL_DELETED, C.CString(channelInfo))
}
func (g ChannelCallback) OnChannelMemberAdded(channelMemberInfo string) {
C.Call_CB_I_S(g.cCallback, CHANNEL_MEMBER_ADDED, C.CString(channelMemberInfo))
}
func (g ChannelCallback) OnChannelMemberDeleted(channelMemberInfo string) {
C.Call_CB_I_S(g.cCallback, CHANNEL_MEMBER_DELETED, C.CString(channelMemberInfo))
}
func (g ChannelCallback) OnChannelApplicationAdded(channelApplication string) {
C.Call_CB_I_S(g.cCallback, CHANNEL_APPLICATION_ADDED, C.CString(channelApplication))
}
func (g ChannelCallback) OnChannelApplicationDeleted(channelApplication string) {
C.Call_CB_I_S(g.cCallback, CHANNEL_APPLICATION_DELETED, C.CString(channelApplication))
}
func (g ChannelCallback) OnChannelInfoChanged(channelInfo string) {
C.Call_CB_I_S(g.cCallback, CHANNEL_INFO_CHANGED, C.CString(channelInfo))
}
func (g ChannelCallback) OnChannelDismissed(channelInfo string) {
C.Call_CB_I_S(g.cCallback, CHANNEL_DISMISSED, C.CString(channelInfo))
}
func (g ChannelCallback) OnChannelMemberInfoChanged(channelMemberInfo string) {
C.Call_CB_I_S(g.cCallback, CHANNEL_MEMBER_INFO_CHANGED, C.CString(channelMemberInfo))
}
func (g ChannelCallback) OnChannelApplicationAccepted(channelApplication string) {
C.Call_CB_I_S(g.cCallback, CHANNEL_APPLICATION_ACCEPTED, C.CString(channelApplication))
}
func (g ChannelCallback) OnChannelApplicationRejected(channelApplication string) {
C.Call_CB_I_S(g.cCallback, CHANNEL_APPLICATION_REJECTED, C.CString(channelApplication))
}
type CustomBusinessCallback struct {
cCallback C.CB_I_S
}
@@ -440,6 +496,11 @@ func set_group_listener(cCallback C.CB_I_S) {
open_im_sdk.SetGroupListener(NewGroupCallback(cCallback))
}
//export set_channel_listener
func set_channel_listener(cCallback C.CB_I_S) {
open_im_sdk.SetChannelListener(NewChannelCallback(cCallback))
}
//export set_conversation_listener
func set_conversation_listener(cCallback C.CB_I_S) {
open_im_sdk.SetConversationListener(NewConversationCallback(cCallback))
@@ -673,6 +734,12 @@ func create_forward_message(operationID, m *C.char) *C.char {
return C.CString(open_im_sdk.CreateForwardMessage(C.GoString(operationID), C.GoString(m)))
}
//export fetch_surrounding_messages
func fetch_surrounding_messages(cCallback C.CB_S_I_S_S, operationID *C.char, message *C.char, before C.int, after C.int) {
baseCallback := NewBaseCallback(cCallback, operationID)
open_im_sdk.FetchSurroundingMessages(baseCallback, C.GoString(operationID), C.GoString(message), int(before), int(after))
}
//export get_all_conversation_list
func get_all_conversation_list(cCallback C.CB_S_I_S_S, operationID *C.char) {
baseCallback := NewBaseCallback(cCallback, operationID)
@@ -732,17 +799,17 @@ func get_conversation_id_by_session_type(operationID *C.char, sourceID *C.char,
}
//export send_message
func send_message(cCallback C.CB_S_I_S_S_I, operationID, message, recvID, groupID, offlinePushInfo *C.char, isOnlineOnly C.int) {
func send_message(cCallback C.CB_S_I_S_S_I, operationID, message, recvID, groupID, channelID, offlinePushInfo *C.char, isOnlineOnly C.int) {
sendMsgCallback := NewSendMessageCallback(cCallback, operationID)
open_im_sdk.SendMessage(sendMsgCallback, C.GoString(operationID), C.GoString(message), C.GoString(recvID),
C.GoString(groupID), C.GoString(offlinePushInfo), parseBool(int(isOnlineOnly)))
C.GoString(groupID), C.GoString(channelID), C.GoString(offlinePushInfo), parseBool(int(isOnlineOnly)))
}
//export send_message_not_oss
func send_message_not_oss(cCallback C.CB_S_I_S_S_I, operationID, message, recvID, groupID, offlinePushInfo *C.char, isOnlineOnly C.int) {
func send_message_not_oss(cCallback C.CB_S_I_S_S_I, operationID, message, recvID, groupID, channelID, offlinePushInfo *C.char, isOnlineOnly C.int) {
sendMsgCallback := NewSendMessageCallback(cCallback, operationID)
open_im_sdk.SendMessageNotOss(sendMsgCallback, C.GoString(operationID), C.GoString(message), C.GoString(recvID),
C.GoString(groupID), C.GoString(offlinePushInfo), parseBool(int(isOnlineOnly)))
C.GoString(groupID), C.GoString(channelID), C.GoString(offlinePushInfo), parseBool(int(isOnlineOnly)))
}
//export find_message_list
@@ -769,6 +836,12 @@ func revoke_message(cCallback C.CB_S_I_S_S, operationID *C.char, conversationID
open_im_sdk.RevokeMessage(baseCallback, C.GoString(operationID), C.GoString(conversationID), C.GoString(clientMsgID))
}
//export edit_message
func edit_message(cCallback C.CB_S_I_S_S, operationID *C.char, conversationID *C.char, clientMsgID *C.char, message *C.char) {
baseCallback := NewBaseCallback(cCallback, operationID)
open_im_sdk.EditMessage(baseCallback, C.GoString(operationID), C.GoString(conversationID), C.GoString(clientMsgID), C.GoString(message))
}
//export typing_status_update
func typing_status_update(cCallback C.CB_S_I_S_S, operationID *C.char, recvID *C.char, msgTip *C.char) {
baseCallback := NewBaseCallback(cCallback, operationID)
@@ -781,6 +854,12 @@ func mark_conversation_message_as_read(cCallback C.CB_S_I_S_S, operationID *C.ch
open_im_sdk.MarkConversationMessageAsRead(baseCallback, C.GoString(operationID), C.GoString(conversationID))
}
//export mark_messages_as_read_by_msg_id
func mark_messages_as_read_by_msg_id(cCallback C.CB_S_I_S_S, operationID *C.char, conversationID *C.char, clientMsgIDs *C.char) {
baseCallback := NewBaseCallback(cCallback, operationID)
open_im_sdk.MarkMessagesAsReadByMsgID(baseCallback, C.GoString(operationID), C.GoString(conversationID), C.GoString(clientMsgIDs))
}
//export delete_message_from_local_storage
func delete_message_from_local_storage(cCallback C.CB_S_I_S_S, operationID *C.char, conversationID *C.char, clientMsgID *C.char) {
baseCallback := NewBaseCallback(cCallback, operationID)
@@ -799,6 +878,18 @@ func hide_all_conversations(cCallback C.CB_S_I_S_S, operationID *C.char) {
open_im_sdk.HideAllConversations(baseCallback, C.GoString(operationID))
}
//export search_conversation
func search_conversation(cCallback C.CB_S_I_S_S, operationID *C.char, searchParam *C.char) {
baseCallback := NewBaseCallback(cCallback, operationID)
open_im_sdk.SearchConversation(baseCallback, C.GoString(operationID), C.GoString(searchParam))
}
//export search_conversations
func search_conversations(cCallback C.CB_S_I_S_S, operationID *C.char, searchParam *C.char) {
baseCallback := NewBaseCallback(cCallback, operationID)
open_im_sdk.SearchConversation(baseCallback, C.GoString(operationID), C.GoString(searchParam))
}
//export delete_all_msg_from_local_and_svr
func delete_all_msg_from_local_and_svr(cCallback C.CB_S_I_S_S, operationID *C.char) {
baseCallback := NewBaseCallback(cCallback, operationID)
@@ -830,9 +921,9 @@ func insert_single_message_to_local_storage(cCallback C.CB_S_I_S_S, operationID
}
//export insert_group_message_to_local_storage
func insert_group_message_to_local_storage(cCallback C.CB_S_I_S_S, operationID *C.char, message *C.char, groupID *C.char, sendID *C.char) {
func insert_group_message_to_local_storage(cCallback C.CB_S_I_S_S, operationID *C.char, message *C.char, groupID *C.char, channelID *C.char, sendID *C.char) {
baseCallback := NewBaseCallback(cCallback, operationID)
open_im_sdk.InsertGroupMessageToLocalStorage(baseCallback, C.GoString(operationID), C.GoString(message), C.GoString(groupID), C.GoString(sendID))
open_im_sdk.InsertGroupMessageToLocalStorage(baseCallback, C.GoString(operationID), C.GoString(message), C.GoString(groupID), C.GoString(channelID), C.GoString(sendID))
}
//export search_local_messages
@@ -1254,6 +1345,67 @@ func logs(cCallback C.CB_S_I_S_S, operationID *C.char, logLevel C.int, file *C.c
open_im_sdk.Logs(baseCallback, C.GoString(operationID), int(logLevel), C.GoString(file), int(line), C.GoString(msgs), C.GoString(err), C.GoString(keyAndValue))
}
// =====================================================channel===============================================
// JoinChannel joins a channel
//
//export join_channel
func join_channel(cCallback C.CB_S_I_S_S, operationID, cChannelID, cReqMsg *C.char, cJoinSource C.int, ex *C.char) {
baseCallback := NewBaseCallback(cCallback, operationID)
open_im_sdk.JoinChannel(baseCallback, C.GoString(operationID), C.GoString(cChannelID), C.GoString(cReqMsg),
int32(cJoinSource), C.GoString(ex))
}
// QuitChannel quits a channel
//
//export quit_channel
func quit_channel(cCallback C.CB_S_I_S_S, operationID, cChannelID *C.char) {
baseCallback := NewBaseCallback(cCallback, operationID)
open_im_sdk.QuitChannel(baseCallback, C.GoString(operationID), C.GoString(cChannelID))
}
// GetSpecifiedChannelsInfo retrieves the information of specified channels
//
//export get_specified_channels_info
func get_specified_channels_info(cCallback C.CB_S_I_S_S, operationID, cChannelIDList *C.char) {
baseCallback := NewBaseCallback(cCallback, operationID)
open_im_sdk.GetSpecifiedChannelsInfo(baseCallback, C.GoString(operationID), C.GoString(cChannelIDList))
}
// GetChannelMemberList retrieves the list of channel members
//
//export get_channel_member_list
func get_channel_member_list(cCallback C.CB_S_I_S_S, operationID, cChannelID *C.char, cFilter, cOffset, cCount C.int) {
baseCallback := NewBaseCallback(cCallback, operationID)
open_im_sdk.GetChannelMemberList(baseCallback, C.GoString(operationID), C.GoString(cChannelID), int32(cFilter),
int32(cOffset), int32(cCount))
}
// GetSpecifiedChannelMembersInfo retrieves the information of specified channel members
//
//export get_specified_channel_members_info
func get_specified_channel_members_info(cCallback C.CB_S_I_S_S, operationID, cChannelID, cUserIDList *C.char) {
baseCallback := NewBaseCallback(cCallback, operationID)
open_im_sdk.GetSpecifiedChannelMembersInfo(baseCallback, C.GoString(operationID), C.GoString(cChannelID),
C.GoString(cUserIDList))
}
// IsJoinChannel checks if the user has joined a channel
//
//export is_join_channel
func is_join_channel(cCallback C.CB_S_I_S_S, operationID, cChannelID *C.char) {
baseCallback := NewBaseCallback(cCallback, operationID)
open_im_sdk.IsJoinChannel(baseCallback, C.GoString(operationID), C.GoString(cChannelID))
}
// GetUsersInChannel retrieves the users in a channel
//
//export get_users_in_channel
func get_users_in_channel(cCallback C.CB_S_I_S_S, operationID, cChannelID, userIDList *C.char) {
baseCallback := NewBaseCallback(cCallback, operationID)
open_im_sdk.GetUsersInChannel(baseCallback, C.GoString(operationID), C.GoString(cChannelID), C.GoString(userIDList))
}
func main() {
}

View File

@@ -57,7 +57,7 @@ require (
nhooyr.io/websocket v1.8.17 // indirect
)
replace github.com/openimsdk/openim-sdk-core/v3 => ../../open-im-sdk-core
replace github.com/openimsdk/openim-sdk-core/v3 => ../../openim-sdk-core
replace github.com/openimsdk/protocol => ../../open-im-protocol