You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
openim-sdk-cpp/go/chao-sdk-core/test/t_conversation_msg.go

927 lines
35 KiB

// Copyright © 2023 OpenIM SDK. All rights reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package test
import (
"encoding/json"
"fmt"
"sync"
"github.com/openimsdk/openim-sdk-core/v3/open_im_sdk"
"github.com/openimsdk/openim-sdk-core/v3/pkg/constant"
"github.com/openimsdk/openim-sdk-core/v3/pkg/sdk_params_callback"
"github.com/openimsdk/openim-sdk-core/v3/pkg/server_api_params"
"github.com/openimsdk/openim-sdk-core/v3/pkg/utils"
"github.com/openimsdk/openim-sdk-core/v3/sdk_struct"
"github.com/openimsdk/tools/log"
"github.com/openimsdk/protocol/sdkws"
"github.com/openimsdk/tools/mcontext"
)
//funcation DotestSetConversationRecvMessageOpt() {
// var callback BaseSuccessFailedTest
// callback.funcName = utils.GetSelfFuncName()
// var idList []string
// idList = append(idList, "18567155635")
// jsontest, _ := json.Marshal(idList)
// open_im_sdk.SetConversationRecvMessageOpt(&callback, string(jsontest), 2)
// fmt.Println("SetConversationRecvMessageOpt", string(jsontest))
//}
//
//funcation DoTestGetMultipleConversation() {
// var callback BaseSuccessFailedTest
// callback.funcName = utils.GetSelfFuncName()
// var idList []string
// fmt.Println("DoTestGetMultipleConversation come here")
// idList = append(idList, "single_13977954313", "group_77215e1b13b75f3ab00cb6570e3d9618")
// jsontest, _ := json.Marshal(idList)
// open_im_sdk.GetMultipleConversation(string(jsontest), &callback)
// fmt.Println("GetMultipleConversation", string(jsontest))
//}
//
//funcation DoTestGetConversationRecvMessageOpt() {
// var callback BaseSuccessFailedTest
// callback.funcName = utils.GetSelfFuncName()
// var idList []string
// idList = append(idList, "18567155635")
// jsontest, _ := json.Marshal(idList)
// open_im_sdk.GetConversationRecvMessageOpt(&callback, string(jsontest))
// fmt.Println("GetConversationRecvMessageOpt", string(jsontest))
//}
func DoTestDeleteAllMsgFromLocalAndSvr() {
var deleteConversationCallback DeleteConversationCallBack
operationID := utils.OperationIDGenerator()
log.ZInfo(ctx, operationID, utils.GetSelfFuncName(), "args")
open_im_sdk.DeleteAllMsgFromLocalAndSvr(deleteConversationCallback, operationID)
}
func DoTestSearchLocalMessages() {
//[SearchLocalMessages args: {"conversationID":"single_707010937","keywordList":["1"],"keywordListMatchType":0,"senderUserIDList":[],"messageTypeList":[],"searchTimePosition":0,"searchTimePeriod":0,"pageIndex":1,"count":200}]
var testSearchLocalMessagesCallBack SearchLocalMessagesCallBack
testSearchLocalMessagesCallBack.OperationID = utils.OperationIDGenerator()
var params sdk_params_callback.SearchLocalMessagesParams
params.KeywordList = []string{"1"}
params.ConversationID = "super_group_3907826375"
params.Count = 20
params.PageIndex = 1
//s:=strings.Trim(params.KeywordList[0],"")
//fmt.Println(len(s),s)
//params.KeywordListMatchType = 1
params.MessageTypeList = []int{101, 106}
open_im_sdk.SearchLocalMessages(testSearchLocalMessagesCallBack, testSearchLocalMessagesCallBack.OperationID, utils.StructToJsonString(params))
}
// funcation DoTestGetHistoryMessage(userID string) {
// var testGetHistoryCallBack GetHistoryCallBack
// testGetHistoryCallBack.OperationID = utils.OperationIDGenerator()
// var params sdk_params_callback.GetHistoryMessageListParams
// params.UserID = userID
// params.ConversationID = "super_group_3907826375"
// //params.StartClientMsgID = "97f12899778823019f13ea46b0c1e6dd"
// params.Count = 10
// open_im_sdk.GetHistoryMessageList(testGetHistoryCallBack, testGetHistoryCallBack.OperationID, utils.StructToJsonString(params))
// }
func DoTestFindMessageList() {
var testFindMessageListCallBack FindMessageListCallBack
testFindMessageListCallBack.OperationID = utils.OperationIDGenerator()
var params sdk_params_callback.FindMessageListParams
temp := sdk_params_callback.ConversationArgs{ConversationID: "super_group_4205679980", ClientMsgIDList: []string{"eee68d85a43991d6b2e7354c52c5321d", "736f40f902046a6e879dc7257d3e81df"}}
//temp1 := sdk_params_callback.ConversationArgs{ConversationID: "super_group_3320742908", ClientMsgIDList: []string{"acf09fcdda48bf2cb39faba31ac63b5c", "b121d3a7f269636afd255b6001d3fc80", "d8951d1c5192ad39f37f44de93a83302"}}
params = append(params, &temp)
//params = append(params, &temp1)
open_im_sdk.FindMessageList(testFindMessageListCallBack, testFindMessageListCallBack.OperationID, utils.StructToJsonString(params))
}
func DoTestSetMessageReactionExtensions() {
var testSetMessageReactionExtensionsCallBack SetMessageReactionExtensionsCallBack
testSetMessageReactionExtensionsCallBack.OperationID = utils.OperationIDGenerator()
var params sdk_params_callback.SetMessageReactionExtensionsParams
var data server_api_params.KeyValue
data.TypeKey = "x"
m := make(map[string]interface{})
m["operation"] = "1"
m["operator"] = "1583984945064968192"
data.Value = utils.StructToJsonString(m)
params = append(params, &data)
s := sdk_struct.MsgStruct{}
s.SessionType = 3
s.GroupID = "1420026997"
s.ClientMsgID = "831c270ae1d7472dc633e7be06b37db5"
//params = append(params, &temp1)
// open_im_sdk.SetMessageReactionExtensions(testSetMessageReactionExtensionsCallBack, testSetMessageReactionExtensionsCallBack.OperationID, utils.StructToJsonString(s),
// utils.StructToJsonString(params))
}
func DoTestAddMessageReactionExtensions(index int, operationID string) {
var testAddMessageReactionExtensionsCallBack AddMessageReactionExtensionsCallBack
testAddMessageReactionExtensionsCallBack.OperationID = operationID
fmt.Printf("DoTestAddMessageReactionExtensions opid:", testAddMessageReactionExtensionsCallBack.OperationID, index)
var params sdk_params_callback.AddMessageReactionExtensionsParams
var data server_api_params.KeyValue
data.TypeKey = "x"
m := make(map[string]interface{})
m["operation"] = index
m["operator"] = "1583984945064968192"
data.Value = utils.StructToJsonString(m)
params = append(params, &data)
s := sdk_struct.MsgStruct{}
s.SessionType = 3
s.GroupID = "1623878302774460418"
s.ClientMsgID = "7ca152a836a0f784c07a3b74d4e2a97d"
//params = append(params, &temp1)
// open_im_sdk.AddMessageReactionExtensions(testAddMessageReactionExtensionsCallBack, testAddMessageReactionExtensionsCallBack.OperationID, utils.StructToJsonString(s),
// utils.StructToJsonString(params))
}
func DoTestGetMessageListReactionExtensions(operationID string) {
var testGetMessageReactionExtensionsCallBack GetMessageListReactionExtensionsCallBack
testGetMessageReactionExtensionsCallBack.OperationID = operationID
fmt.Printf("DoTestGetMessageListReactionExtensions opid:", testGetMessageReactionExtensionsCallBack.OperationID)
var ss []sdk_struct.MsgStruct
s := sdk_struct.MsgStruct{}
s.SessionType = 3
s.GroupID = "1623878302774460418"
s.ClientMsgID = "d91943a8085556853b3457e33d1e21b2"
s1 := sdk_struct.MsgStruct{}
s1.SessionType = 3
s1.GroupID = "1623878302774460418"
s1.ClientMsgID = "7ca152a836a0f784c07a3b74d4e2a97d"
ss = append(ss, s)
ss = append(ss, s1)
//params = append(params, &temp1)
// open_im_sdk.GetMessageListReactionExtensions(testGetMessageReactionExtensionsCallBack, testGetMessageReactionExtensionsCallBack.OperationID, utils.StructToJsonString(ss))
}
func DoTestSetAppBadge() {
var testSetAppBadgeCallBack SetAppBadgeCallBack
testSetAppBadgeCallBack.OperationID = utils.OperationIDGenerator()
open_im_sdk.SetAppBadge(testSetAppBadgeCallBack, testSetAppBadgeCallBack.OperationID, 100)
}
func DoTestGetAdvancedHistoryMessageList() {
var testGetHistoryCallBack GetHistoryCallBack
testGetHistoryCallBack.OperationID = utils.OperationIDGenerator()
var params sdk_params_callback.GetAdvancedHistoryMessageListParams
params.ConversationID = "si_7788_7789"
//params.StartClientMsgID = "83ca933d559d0374258550dd656a661c"
params.Count = 20
//params.LastMinSeq = seq
open_im_sdk.GetAdvancedHistoryMessageList(testGetHistoryCallBack, testGetHistoryCallBack.OperationID, utils.StructToJsonString(params))
}
//funcation DoTestGetHistoryMessageReverse(userID string) {
// var testGetHistoryReverseCallBack GetHistoryReverseCallBack
// testGetHistoryReverseCallBack.OperationID = utils.OperationIDGenerator()
// var params sdk_params_callback.GetHistoryMessageListParams
// params.UserID = userID
// params.Count = 10
// params.ConversationID = "single_707008149"
// params.StartClientMsgID = "d40dde77f29b14d3a16ca6f422776890"
// open_im_sdk.GetHistoryMessageListReverse(testGetHistoryReverseCallBack, testGetHistoryReverseCallBack.OperationID, utils.StructToJsonString(params))
//}
//funcation DoTestGetGroupHistoryMessage() {
// var testGetHistoryCallBack GetHistoryCallBack
// testGetHistoryCallBack.OperationID = utils.OperationIDGenerator()
// var params sdk_params_callback.GetHistoryMessageListParams
// params.GroupID = "cb7aaa8e5f83d92db2ed1573cd01870c"
// params.Count = 10
// open_im_sdk.GetHistoryMessageList(testGetHistoryCallBack, testGetHistoryCallBack.OperationID, utils.StructToJsonString(params))
//}
//funcation DoTestGetGroupHistoryMessage() {
// var testGetHistoryCallBack GetHistoryCallBack
// testGetHistoryCallBack.OperationID = utils.OperationIDGenerator()
// var params sdk_params_callback.GetHistoryMessageListParams
// params.GroupID = "cb7aaa8e5f83d92db2ed1573cd01870c"
// params.Count = 10
// open_im_sdk.GetHistoryMessageList(testGetHistoryCallBack, testGetHistoryCallBack.OperationID, utils.StructToJsonString(params))
//}
//funcation DoTestDeleteConversation(conversationID string) {
// var testDeleteConversation DeleteConversationCallBack
// open_im_sdk.DeleteConversation(conversationID, testDeleteConversation)
//
//}
type DeleteConversationCallBack struct {
}
func (d DeleteConversationCallBack) OnError(errCode int32, errMsg string) {
fmt.Printf("DeleteConversationCallBack , errCode:%v,errMsg:%v\n", errCode, errMsg)
}
func (d DeleteConversationCallBack) OnSuccess(data string) {
fmt.Printf("DeleteConversationCallBack , success,data:%v\n", data)
}
type DeleteMessageCallBack struct {
Msg string
}
func (d DeleteMessageCallBack) OnError(errCode int32, errMsg string) {
fmt.Printf("DeleteMessageCallBack , errCode:%v,errMsg:%v\n", errCode, errMsg)
}
func (d *DeleteMessageCallBack) OnSuccess(data string) {
fmt.Printf("DeleteMessageCallBack , success,data:%v\n", data)
d.Msg = data
}
func (d DeleteMessageCallBack) GetMessage() string {
return d.Msg
}
func DoTestDeleteConversationMsgFromLocalAndSvr(conversationID string) {
cb := &DeleteMessageCallBack{}
operationID := utils.OperationIDGenerator()
open_im_sdk.DeleteConversationAndDeleteAllMsg(cb, operationID, conversationID)
}
type TestGetAllConversationListCallBack struct {
OperationID string
}
func (t TestGetAllConversationListCallBack) OnError(errCode int32, errMsg string) {
log.ZInfo(ctx, "TestGetAllConversationListCallBack ", "operationID", t.OperationID, "errCode", errCode, "errMsg", errMsg)
}
func (t TestGetAllConversationListCallBack) OnSuccess(data string) {
log.ZInfo(ctx, "ConversationCallBack ", "operationID", t.OperationID, "data", data)
}
func DoTestGetAllConversation() {
var test TestGetAllConversationListCallBack
test.OperationID = utils.OperationIDGenerator()
open_im_sdk.GetAllConversationList(test, test.OperationID)
}
func DoTestGetOneConversation(friendID string) {
var test TestGetAllConversationListCallBack
test.OperationID = utils.OperationIDGenerator()
open_im_sdk.GetOneConversation(test, test.OperationID, constant.SingleChatType, friendID)
}
func DoTestGetConversations(conversationIDs string) {
var test TestGetAllConversationListCallBack
test.OperationID = utils.OperationIDGenerator()
open_im_sdk.GetMultipleConversation(test, test.OperationID, conversationIDs)
}
type TestSetConversationPinnedCallback struct {
OperationID string
}
func (t TestSetConversationPinnedCallback) OnError(errCode int32, errMsg string) {
log.ZInfo(ctx, "TestSetConversationPinnedCallback ", "operationID", t.OperationID, "errCode", errCode, "errMsg", errMsg)
}
func (t TestSetConversationPinnedCallback) OnSuccess(data string) {
log.ZInfo(ctx, "TestSetConversationPinnedCallback ", "operationID", t.OperationID, "data", data)
}
func DoTestSetConversationRecvMessageOpt(conversationIDs []string, opt int) {
var callback testProcessGroupApplication
callback.OperationID = utils.OperationIDGenerator()
log.ZInfo(ctx, "DoTestSetConversationRecvMessageOpt", "operationID", callback.OperationID, "funcName", utils.GetSelfFuncName(),
"conversationIDs: ", conversationIDs, "opt", opt)
s := utils.StructToJsonString(conversationIDs)
open_im_sdk.SetConversationRecvMessageOpt(callback, callback.OperationID, s, opt)
}
//func DoTestRevoke() {
// var callback testProcessGroupApplication
// open_im_sdk.RevokeMessage(callback, "si_3232515230_8650796072", utils.StructToJsonString(&sdk_struct.MsgStruct{SessionType: 1, ContentType: 101,
// ClientMsgID: "ebfe4e0aa11e7602de3dfe0670b484cd", Seq: 12, SendID: "8650796072", RecvID: "3232515230"}))
//}
func DoTestClearOneConversation() {
var callback testProcessGroupApplication
open_im_sdk.ClearConversationAndDeleteAllMsg(callback, "df", "si_2456093263_9169012630")
}
func DoTestSetConversationPinned(conversationID string, pin bool) {
var test TestSetConversationPinnedCallback
test.OperationID = "testping"
open_im_sdk.PinConversation(test, test.OperationID, conversationID, pin)
}
func DoTestSetOneConversationRecvMessageOpt(conversationID string, opt int) {
var test TestSetConversationPinnedCallback
test.OperationID = utils.OperationIDGenerator()
open_im_sdk.SetConversationRecvMessageOpt(test, test.OperationID, conversationID, opt)
}
func DoTestSetOneConversationPrivateChat(conversationID string, privateChat bool) {
var test TestSetConversationPinnedCallback
test.OperationID = utils.OperationIDGenerator()
open_im_sdk.SetConversationPrivateChat(test, test.OperationID, conversationID, privateChat)
}
func DoTestSetBurnDuration(conversationID string) {
var test TestSetConversationPinnedCallback
test.OperationID = utils.OperationIDGenerator()
open_im_sdk.SetConversationBurnDuration(test, test.OperationID, conversationID, 300)
}
func DoTestSetMsgDestructTime(conversationID string) {
var test TestSetConversationPinnedCallback
test.OperationID = utils.OperationIDGenerator()
open_im_sdk.SetConversationIsMsgDestruct(test, test.OperationID, conversationID, true)
open_im_sdk.SetConversationMsgDestructTime(test, test.OperationID, conversationID, 300010)
}
type TestGetConversationListSplitCallBack struct {
OperationID string
}
func (t TestGetConversationListSplitCallBack) OnError(errCode int32, errMsg string) {
log.ZInfo(ctx, "TestGetConversationListSplitCallBack err ", "operationID", t.OperationID, "errCode", errCode, "errMsg", errMsg)
}
func (t TestGetConversationListSplitCallBack) OnSuccess(data string) {
log.ZInfo(ctx, "TestGetConversationListSplitCallBack success", "operationID", t.OperationID, "data", data)
}
func DoTestGetConversationListSplit() {
var test TestGetConversationListSplitCallBack
test.OperationID = utils.OperationIDGenerator()
open_im_sdk.GetConversationListSplit(test, test.OperationID, 1, 2)
}
type TestGetOneConversationCallBack struct {
}
func (t TestGetOneConversationCallBack) OnError(errCode int32, errMsg string) {
fmt.Printf("TestGetOneConversationCallBack , errCode:%v,errMsg:%v\n", errCode, errMsg)
}
func (t TestGetOneConversationCallBack) OnSuccess(data string) {
fmt.Printf("TestGetOneConversationCallBack , success,data:%v\n", data)
}
func DoTestGetConversationRecvMessageOpt(list string) {
var test TestGetConversationRecvMessageOpt
test.OperationID = utils.OperationIDGenerator()
open_im_sdk.GetConversationRecvMessageOpt(test, test.OperationID, list)
}
type TestGetConversationRecvMessageOpt struct {
OperationID string
}
func (t TestGetConversationRecvMessageOpt) OnError(errCode int32, errMsg string) {
fmt.Printf("TestGetConversationRecvMessageOpt , errCode:%v,errMsg:%v\n", errCode, errMsg)
}
func (t TestGetConversationRecvMessageOpt) OnSuccess(data string) {
fmt.Printf("TestGetConversationRecvMessageOpt , success,data:%v\n", data)
}
func DoTestCreateTextMessage(text string) string {
operationID := utils.OperationIDGenerator()
return open_im_sdk.CreateTextMessage(operationID, text)
}
func DoTestCreateImageMessageFromFullPath() string {
operationID := utils.OperationIDGenerator()
return open_im_sdk.CreateImageMessageFromFullPath(operationID, "C:\\Users\\Administrator\\Desktop\\rtc.proto")
//open_im_sdk.SendMessage(&testSendMsg, operationID, s, , "", utils.StructToJsonString(o))
}
func DoTestCreateOtherMessageFromFullPath() string {
operationID := utils.OperationIDGenerator()
return open_im_sdk.CreateFileMessageFromFullPath(operationID, "C:\\Users\\Administrator\\Desktop\\2.txt", "2.txt")
//open_im_sdk.SendMessage(&testSendMsg, operationID, s, , "", utils.StructToJsonString(o))
}
func DoTestCreateVideoMessageFromFullPath() string {
operationID := utils.OperationIDGenerator()
return open_im_sdk.CreateVideoMessageFromFullPath(operationID, "C:\\Users\\Administrator\\Desktop\\video_test.mp4", "mp4", 5, "C:\\Users\\Administrator\\Desktop\\shot.jpg")
}
// funcation DoTestSetConversationDraft() {
// var test TestSetConversationDraft
// open_im_sdk.SetConversationDraft("single_c93bc8b171cce7b9d1befb389abfe52f", "hah", test)
//
// }
type TestSetConversationDraft struct {
}
func (t TestSetConversationDraft) OnError(errCode int32, errMsg string) {
fmt.Printf("SetConversationDraft , OnError %v\n", errMsg)
}
func (t TestSetConversationDraft) OnSuccess(data string) {
fmt.Printf("SetConversationDraft , OnSuccess %v\n", data)
}
type GetHistoryCallBack struct {
OperationID string
Data string
}
func (g GetHistoryCallBack) OnError(errCode int32, errMsg string) {
log.ZInfo(ctx, "GetHistoryCallBack err", "operationID", g.OperationID, "errCode", errCode, "errMsg", errMsg)
}
func (g GetHistoryCallBack) OnSuccess(data string) {
g.Data = data
log.ZInfo(ctx, "get History success ", "operationID", g.OperationID, "data", data)
}
type SetAppBadgeCallBack struct {
OperationID string
}
func (g SetAppBadgeCallBack) OnError(errCode int32, errMsg string) {
log.ZInfo(ctx, "SetAppBadgeCallBack err", "operationID", g.OperationID, "errCode", errCode, "errMsg", errMsg)
}
func (g SetAppBadgeCallBack) OnSuccess(data string) {
log.ZInfo(ctx, "SetAppBadgeCallBack success", "operationID", g.OperationID, "data", data)
}
type UpdateFcmTokenCallBack struct {
OperationID string
}
func (g UpdateFcmTokenCallBack) OnError(errCode int32, errMsg string) {
log.ZInfo(ctx, "UpdateFcmTokenCallBack err", "operationID", g.OperationID, "errCode", errCode, "errMsg", errMsg)
}
func (g UpdateFcmTokenCallBack) OnSuccess(data string) {
log.ZInfo(ctx, "UpdateFcmTokenCallBack success", "operationID", g.OperationID, "data", data)
}
type FindMessageListCallBack struct {
OperationID string
}
func (g FindMessageListCallBack) OnError(errCode int32, errMsg string) {
log.ZInfo(ctx, "FindMessageListCallBack err", "operationID", g.OperationID, "errCode", errCode, "errMsg", errMsg)
}
func (g FindMessageListCallBack) OnSuccess(data string) {
log.ZInfo(ctx, "FindMessageListCallBack success", "operationID", g.OperationID, "data", data)
}
type SetMessageReactionExtensionsCallBack struct {
OperationID string
}
func (g SetMessageReactionExtensionsCallBack) OnError(errCode int32, errMsg string) {
log.ZInfo(ctx, "SetMessageReactionExtensionsCallBack err", "operationID", g.OperationID, "errCode", errCode, "errMsg", errMsg)
}
func (g SetMessageReactionExtensionsCallBack) OnSuccess(data string) {
log.ZInfo(ctx, "SetMessageReactionExtensionsCallBack success", "operationID", g.OperationID, "data", data)
}
type AddMessageReactionExtensionsCallBack struct {
OperationID string
}
func (g AddMessageReactionExtensionsCallBack) OnError(errCode int32, errMsg string) {
log.ZInfo(ctx, "AddMessageReactionExtensionsCallBack err", "operationID", g.OperationID, "errCode", errCode, "errMsg", errMsg)
}
func (g AddMessageReactionExtensionsCallBack) OnSuccess(data string) {
log.ZInfo(ctx, "AddMessageReactionExtensionsCallBack success", "operationID", g.OperationID, "data", data)
}
type GetMessageListReactionExtensionsCallBack struct {
OperationID string
}
func (g GetMessageListReactionExtensionsCallBack) OnError(errCode int32, errMsg string) {
log.ZInfo(ctx, g.OperationID, "GetMessageListReactionExtensionsCallBack err", errCode, "errMsg", errMsg)
}
func (g GetMessageListReactionExtensionsCallBack) OnSuccess(data string) {
log.ZInfo(ctx, g.OperationID, "GetMessageListReactionExtensionsCallBack success", "data", data)
}
type GetHistoryReverseCallBack struct {
OperationID string
}
func (g GetHistoryReverseCallBack) OnError(errCode int32, errMsg string) {
log.ZInfo(ctx, g.OperationID, "GetHistoryReverseCallBack err", errCode, "errMsg", errMsg)
}
func (g GetHistoryReverseCallBack) OnSuccess(data string) {
log.ZInfo(ctx, g.OperationID, "GetHistoryReverseCallBack success", "data", data)
}
type SearchLocalMessagesCallBack struct {
OperationID string
}
func (g SearchLocalMessagesCallBack) OnError(errCode int32, errMsg string) {
log.ZInfo(ctx, g.OperationID, "SearchLocalMessagesCallBack err", errCode, "errMsg", errMsg)
}
func (g SearchLocalMessagesCallBack) OnSuccess(data string) {
fmt.Println(g.OperationID, "SearchLocalMessagesCallBack success", "data", data)
}
type MsgListenerCallBak struct {
}
func (m *MsgListenerCallBak) OnMsgDeleted(s string) {}
func (m *MsgListenerCallBak) OnRecvOfflineNewMessage(message string) {
//TODO implement me
panic("implement me")
}
func (m *MsgListenerCallBak) OnRecvMessageExtensionsAdded(msgID string, reactionExtensionList string) {
fmt.Printf("OnRecvMessageExtensionsAdded", msgID, reactionExtensionList)
log.ZInfo(ctx, "internal", "OnRecvMessageExtensionsAdded", "msgID", msgID, "reactionExtensionList", reactionExtensionList)
}
func (m *MsgListenerCallBak) OnRecvGroupReadReceipt(groupMsgReceiptList string) {
//fmt.Println("OnRecvC2CReadReceipt , ", groupMsgReceiptList)
}
func (m *MsgListenerCallBak) OnNewRecvMessageRevoked(messageRevoked string) {
//fmt.Println("OnNewRecvMessageRevoked , ", messageRevoked)
}
func (m *MsgListenerCallBak) OnRecvMessageExtensionsChanged(msgID string, reactionExtensionList string) {
log.ZInfo(ctx, "internal", "OnRecvMessageExtensionsChanged", "msgID", msgID, "reactionExtensionList", reactionExtensionList)
}
func (m *MsgListenerCallBak) OnRecvMessageExtensionsDeleted(msgID string, reactionExtensionKeyList string) {
log.ZInfo(ctx, "internal", "OnRecvMessageExtensionsDeleted", "msgID", msgID, "reactionExtensionKeyList", reactionExtensionKeyList)
}
func (m *MsgListenerCallBak) OnRecvOnlineOnlyMessage(message string) {
}
type BatchMsg struct {
}
func (m *BatchMsg) OnRecvNewMessages(groupMsgReceiptList string) {
log.ZInfo(ctx, "OnRecvNewMessages", "groupMsgReceiptList", groupMsgReceiptList)
}
func (m *BatchMsg) OnRecvOfflineNewMessages(messageList string) {
log.ZInfo(ctx, "OnRecvOfflineNewMessages", "messageList", messageList)
}
func (m *MsgListenerCallBak) OnRecvNewMessage(msg string) {
var mm sdk_struct.MsgStruct
err := json.Unmarshal([]byte(msg), &mm)
if err != nil {
log.ZError(ctx, "Unmarshal failed", err, "msg", msg)
} else {
RecvMsgMapLock.Lock()
defer RecvMsgMapLock.Unlock()
t := SendRecvTime{SendIDRecvID: mm.SendID + mm.RecvID, RecvTime: utils.GetCurrentTimestampByMill()}
RecvAllMsg[mm.ClientMsgID] = &t
log.ZInfo(ctx, "", "OnRecvNewMessage callback", "ClientMsgID", mm.ClientMsgID, "SendID", mm.SendID, "RecvID", mm.RecvID)
}
}
type TestSearchLocalMessages struct {
OperationID string
}
func (t TestSearchLocalMessages) OnError(errCode int32, errMsg string) {
log.ZInfo(ctx, t.OperationID, "SearchLocalMessages , OnError", "errCode", errCode, "errMsg", errMsg)
}
func (t TestSearchLocalMessages) OnSuccess(data string) {
log.ZInfo(ctx, t.OperationID, "SearchLocalMessages , OnSuccess", "data", data)
}
//funcation DoTestSearchLocalMessages() {
// var t TestSearchLocalMessages
// operationID := utils.OperationIDGenerator()
// t.OperationID = operationID
// var p sdk_params_callback.SearchLocalMessagesParams
// //p.SessionType = constant.SingleChatType
// p.SourceID = "18090680773"
// p.KeywordList = []string{}
// p.SearchTimePeriod = 24 * 60 * 60 * 10
// open_im_sdk.SearchLocalMessages(t, operationID, utils.StructToJsonString(p))
//}
type TestDeleteConversation struct {
OperationID string
}
func (t TestDeleteConversation) OnError(errCode int32, errMsg string) {
log.ZInfo(ctx, t.OperationID, "TestDeleteConversation , OnError", "errCode", errCode, "errMsg", errMsg)
}
func (t TestDeleteConversation) OnSuccess(data string) {
log.ZInfo(ctx, t.OperationID, "TestDeleteConversation , OnSuccess", "data", data)
}
func (m MsgListenerCallBak) OnRecvC2CReadReceipt(data string) {
fmt.Println("OnRecvC2CReadReceipt , ", data)
}
func (m MsgListenerCallBak) OnRecvMessageRevoked(msgId string) {
fmt.Println("OnRecvMessageRevoked ", msgId)
}
type conversationCallBack struct {
SyncFlag int
}
func (c *conversationCallBack) OnRecvMessageExtensionsChanged(msgID string, reactionExtensionList string) {
panic("implement me")
}
func (c *conversationCallBack) OnRecvMessageExtensionsDeleted(msgID string, reactionExtensionKeyList string) {
panic("implement me")
}
func (c *conversationCallBack) OnSyncServerProgress(progress int) {
log.ZInfo(ctx, utils.GetSelfFuncName(), "progress", progress)
}
func (c *conversationCallBack) OnSyncServerStart(reinstalled bool) {
}
func (c *conversationCallBack) OnSyncServerFinish(reinstalled bool) {
c.SyncFlag = 1
log.ZInfo(ctx, utils.GetSelfFuncName())
}
func (c *conversationCallBack) OnSyncServerFailed(reinstalled bool) {
log.ZInfo(ctx, utils.GetSelfFuncName())
}
func (c *conversationCallBack) OnNewConversation(conversationList string) {
log.ZInfo(ctx, "OnNewConversation returnList is", conversationList)
}
func (c *conversationCallBack) OnConversationChanged(conversationList string) {
log.ZInfo(ctx, "OnConversationChanged. ", "returnList is", conversationList)
}
func (c *conversationCallBack) OnTotalUnreadMessageCountChanged(totalUnreadCount int32) {
log.ZInfo(ctx, "OnTotalUnreadMessageCountChanged returnTotalUnreadCount is", totalUnreadCount)
}
func (c *conversationCallBack) OnConversationUserInputStatusChanged(change string) {
}
type testMarkC2CMessageAsRead struct {
}
func (testMarkC2CMessageAsRead) OnSuccess(data string) {
fmt.Println(" testMarkC2CMessageAsRead OnSuccess", data)
}
func (testMarkC2CMessageAsRead) OnError(code int32, msg string) {
fmt.Println("testMarkC2CMessageAsRead, OnError", code, msg)
}
//funcation DoTestMarkC2CMessageAsRead() {
// var test testMarkC2CMessageAsRead
// readid := "2021-06-23 12:25:36-7eefe8fc74afd7c6adae6d0bc76929e90074d5bc-8522589345510912161"
// var xlist []string
// xlist = append(xlist, readid)
// jsonid, _ := json.Marshal(xlist)
// open_im_sdk.MarkC2CMessageAsRead(test, Friend_uid, string(jsonid))
//}
type SendRecvTime struct {
SendTime int64
SendSeccCallbackTime int64
RecvTime int64
SendIDRecvID string
}
var SendSuccAllMsg map[string]*SendRecvTime //msgid->send+recv:
var SendFailedAllMsg map[string]string
var RecvAllMsg map[string]*SendRecvTime //msgid->send+recv
var SendMsgMapLock sync.RWMutex
var RecvMsgMapLock sync.RWMutex
func init() {
SendSuccAllMsg = make(map[string]*SendRecvTime)
SendFailedAllMsg = make(map[string]string)
RecvAllMsg = make(map[string]*SendRecvTime)
}
func DoTestSetAppBackgroundStatus(isBackground bool) {
var testSendMsg TestSendMsgCallBack
operationID := utils.OperationIDGenerator()
open_im_sdk.SetAppBackgroundStatus(&testSendMsg, operationID, isBackground)
}
func DoTestSendMsg2(sendId, recvID string) {
m := "Single chat test" + sendId + ":" + recvID + ":"
operationID := utils.OperationIDGenerator()
s := DoTestCreateTextMessage(m)
log.ZInfo(ctx, "send msg:", "operationID", operationID, "message", s) // 修改此行
var testSendMsg TestSendMsgCallBack
testSendMsg.OperationID = operationID
o := sdkws.OfflinePushInfo{}
o.Title = "121313"
o.Desc = "45464"
open_im_sdk.SendMessage(&testSendMsg, operationID, s, recvID, "", utils.StructToJsonString(o), false)
log.ZInfo(ctx, utils.GetSelfFuncName(), "success", "sendId", sendId, "recvID", recvID) // 修改此行
}
func DoTestSendMsg2Group(sendId, groupID string, index int) {
m := "test: " + sendId + " : " + groupID + " : " + utils.IntToString(index)
operationID := utils.OperationIDGenerator()
s := DoTestCreateTextMessage(m)
log.ZInfo(ctx, "send msg:", "operationID", operationID, "message", s) // 修改此行
var testSendMsg TestSendMsgCallBack
testSendMsg.OperationID = operationID
o := sdkws.OfflinePushInfo{}
o.Title = "Title"
o.Desc = "Desc"
open_im_sdk.SendMessage(&testSendMsg, operationID, s, "", groupID, utils.StructToJsonString(o), false)
log.ZInfo(ctx, utils.GetSelfFuncName(), "success") // 修改此行
}
func DoTestSendMsg2GroupWithMessage(sendId, groupID string, message string) {
operationID := utils.OperationIDGenerator()
s := DoTestCreateTextMessage(message)
log.ZInfo(ctx, "send msg:", "operationID", operationID, "message", s) // 修改此行
var testSendMsg TestSendMsgCallBack
testSendMsg.OperationID = operationID
o := sdkws.OfflinePushInfo{}
o.Title = "Title"
o.Desc = "Desc"
open_im_sdk.SendMessage(&testSendMsg, operationID, s, "", groupID, utils.StructToJsonString(o), false)
log.ZInfo(ctx, utils.GetSelfFuncName(), "success") // 修改此行
}
func DoTestSendMsg2c2c(sendId, recvID string, index int) {
m := "test: " + sendId + " : " + recvID + " : " + utils.IntToString(index)
operationID := utils.OperationIDGenerator()
s := DoTestCreateTextMessage(m)
log.ZInfo(ctx, "send msg:", "operationID", operationID, "message", s) // 修改此行
var testSendMsg TestSendMsgCallBack
testSendMsg.OperationID = operationID
o := sdkws.OfflinePushInfo{}
o.Title = "Title"
o.Desc = "Desc"
open_im_sdk.SendMessage(&testSendMsg, operationID, s, recvID, "", utils.StructToJsonString(o), false)
log.ZInfo(ctx, utils.GetSelfFuncName(), "success") // 修改此行
}
type TestMarkGroupMessageAsRead struct {
OperationID string
}
func (t TestMarkGroupMessageAsRead) OnError(errCode int32, errMsg string) {
log.ZInfo(ctx, "TestMarkGroupMessageAsRead , OnError", "operationID", t.OperationID, "errMsg", errMsg) // 修改此行
}
func (t TestMarkGroupMessageAsRead) OnSuccess(data string) {
log.ZInfo(ctx, "TestMarkGroupMessageAsRead , OnSuccess", "operationID", t.OperationID, "data", data) // 修改此行
}
func DoTestSendMsg(index int, sendId, recvID string, groupID string, idx string) {
m := "test msg " + sendId + ":" + recvID + ":" + idx
operationID := utils.OperationIDGenerator()
ctx := mcontext.NewCtx(operationID)
s, err := allLoginMgr[index].mgr.Conversation().CreateTextMessage(ctx, m)
if err != nil {
log.ZError(ctx, "CreateTextMessage", err, "operationID", operationID)
return
}
var testSendMsg TestSendMsgCallBack
testSendMsg.OperationID = operationID
testSendMsg.sendTime = utils.GetCurrentTimestampByMill()
o := sdkws.OfflinePushInfo{}
o.Title = "title"
o.Desc = "desc"
testSendMsg.sendID = sendId
testSendMsg.recvID = recvID
testSendMsg.groupID = groupID
testSendMsg.msgID = s.ClientMsgID
log.ZInfo(ctx, "SendMessage", "operationID", operationID, "sendId", sendId, "recvID", recvID, "groupID", groupID, "msgID",
testSendMsg.msgID, "index", index)
if recvID != "" {
allLoginMgr[index].mgr.Conversation().SendMessage(ctx, s, recvID, "", &o, false)
} else {
allLoginMgr[index].mgr.Conversation().SendMessage(ctx, s, "", groupID, &o, false)
}
SendMsgMapLock.Lock()
defer SendMsgMapLock.Unlock()
x := SendRecvTime{SendTime: utils.GetCurrentTimestampByMill()}
SendSuccAllMsg[testSendMsg.msgID] = &x
}
//
//funcation DoTestSendMsgPress(index int, sendId, recvID string, idx string) {
// m := "test msg " + sendId + ":" + recvID + ":" + idx
// operationID := utils.OperationIDGenerator()
// s := DoTestCreateTextMessageReliability(allLoginMgr[index].mgr, m)
// var mstruct sdk_struct.MsgStruct
// _ = json.Unmarshal([]byte(s), &mstruct)
//
// var testSendMsg TestSendMsgCallBackPress
// testSendMsg.OperationID = operationID
// o := server_api_params.OfflinePushInfo{}
// o.Title = "title"
// o.Desc = "desc"
// testSendMsg.sendID = sendId
// testSendMsg.recvID = recvID
// testSendMsg.msgID = mstruct.ClientMsgID
//
// log.Warn(operationID, "SendMessage", sendId, recvID, testSendMsg.msgID, index)
//
// allLoginMgr[index].mgr.Conversation().SendMessage(&testSendMsg, s, recvID, "", utils.StructToJsonString(o), operationID)
//}
func DoTestSendImageMsg(recvID string) {
operationID := utils.OperationIDGenerator()
s := DoTestCreateImageMessageFromFullPath()
var testSendMsg TestSendMsgCallBack
testSendMsg.OperationID = operationID
o := sdkws.OfflinePushInfo{}
o.Title = "121313"
o.Desc = "45464"
open_im_sdk.SendMessage(&testSendMsg, operationID, s, recvID, "", utils.StructToJsonString(o), false)
}
//funcation DotestUploadFile() {
// operationID := utils.OperationIDGenerator()
// var testSendMsg TestSendMsgCallBack
// open_im_sdk.UploadFile(&testSendMsg, operationID, "C:\\Users\\Administrator\\Desktop\\video_test.mp4")
//}
func DoTestSendOtherMsg(sendId, recvID string) {
operationID := utils.OperationIDGenerator()
s := DoTestCreateOtherMessageFromFullPath()
var testSendMsg TestSendMsgCallBack
testSendMsg.OperationID = operationID
o := sdkws.OfflinePushInfo{}
o.Title = "121313"
o.Desc = "45464"
open_im_sdk.SendMessage(&testSendMsg, operationID, s, recvID, "", utils.StructToJsonString(o), false)
}
func DoTestSendVideo(sendId, recvID string) {
operationID := utils.OperationIDGenerator()
s := DoTestCreateVideoMessageFromFullPath()
var testSendMsg TestSendMsgCallBack
testSendMsg.OperationID = operationID
o := sdkws.OfflinePushInfo{}
o.Title = "121313"
o.Desc = "45464"
log.ZInfo(ctx, "SendMessage", "operationID", operationID, "message", s)
open_im_sdk.SendMessage(&testSendMsg, operationID, s, recvID, "", utils.StructToJsonString(o), false)
}
type TestClearMsg struct {
OperationID string
}
func (t *TestClearMsg) OnError(errCode int32, errMsg string) {
log.ZInfo(ctx, "TestClearMsg OnError", "operationID", t.OperationID, "errCode", errCode, "errMsg", errMsg)
}
func (t *TestClearMsg) OnSuccess(data string) {
log.ZInfo(ctx, "TestClearMsg OnSuccess", "operationID", t.OperationID, "data", data)
}
func DoTestClearMsg() {
var test TestClearMsg
operationID := utils.OperationIDGenerator()
open_im_sdk.DeleteAllMsgFromLocalAndSvr(&test, operationID)
}
type TestModifyGroupMessageReaction struct {
OperationID string
}
func (t *TestModifyGroupMessageReaction) OnError(errCode int32, errMsg string) {
log.ZInfo(ctx, "TestModifyGroupMessageReaction OnError", "operationID", t.OperationID, "errCode", errCode, "errMsg", errMsg)
}
func (t *TestModifyGroupMessageReaction) OnSuccess(data string) {
log.ZInfo(ctx, "TestModifyGroupMessageReaction OnSuccess", "operationID", t.OperationID, "data", data)
}
func DoTestGetSelfUserInfo() {
var test TestModifyGroupMessageReaction
open_im_sdk.GetSelfUserInfo(&test, "s")
}