mirror of
https://github.com/WuKongIM/WuKongIMFlutterSDK
synced 2025-05-29 15:12:20 +00:00
fix:update send message api
This commit is contained in:
parent
e2747b1f67
commit
65f0a819ac
@ -1,5 +1,3 @@
|
||||
import 'dart:ffi';
|
||||
|
||||
import 'package:example/const.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:wukongimfluttersdk/entity/channel.dart';
|
||||
@ -9,7 +7,6 @@ import 'package:wukongimfluttersdk/proto/proto.dart';
|
||||
import 'package:wukongimfluttersdk/type/const.dart';
|
||||
import 'package:wukongimfluttersdk/wkim.dart';
|
||||
|
||||
import 'custom_message.dart';
|
||||
import 'msg.dart';
|
||||
|
||||
class ChatPage extends StatelessWidget {
|
||||
@ -399,8 +396,11 @@ class ChatListDataState extends State<ChatList> {
|
||||
mentionInfo.uids = ['uid_1', 'uid_2'];
|
||||
text.mentionInfo = mentionInfo;
|
||||
// CustomMsg customMsg = CustomMsg(content);
|
||||
WKIM.shared.messageManager.sendMessageWithSetting(
|
||||
text, WKChannel(channelID, channelType), setting);
|
||||
var option = WKSendOptions();
|
||||
option.setting = setting;
|
||||
WKIM.shared.messageManager.sendWithOption(
|
||||
text, WKChannel(channelID, channelType), option);
|
||||
|
||||
// WKImageContent imageContent = WKImageContent(100, 200);
|
||||
// imageContent.localPath = 'addskds';
|
||||
// WKIM.shared.messageManager.sendMessage(
|
||||
|
@ -72,7 +72,7 @@ class WKMsg {
|
||||
}
|
||||
|
||||
class MessageHeader {
|
||||
bool redDot = false; // 是否显示红点
|
||||
bool redDot = true; // 是否显示红点
|
||||
bool noPersist = false; // 是否不存储
|
||||
bool syncOnce = false; // 是否只同步一次
|
||||
}
|
||||
@ -295,3 +295,10 @@ class WKMentionInfo {
|
||||
bool mentionAll = false;
|
||||
List<String>? uids;
|
||||
}
|
||||
|
||||
class WKSendOptions {
|
||||
MessageHeader header = MessageHeader();
|
||||
Setting setting = Setting();
|
||||
int expire = 0;
|
||||
String topicID = "";
|
||||
}
|
||||
|
@ -403,6 +403,7 @@ class WKConnectionManager {
|
||||
packet.clientSeq = wkMsg.clientSeq;
|
||||
packet.clientMsgNO = wkMsg.clientMsgNO;
|
||||
packet.topic = wkMsg.topicID;
|
||||
packet.expire = wkMsg.expireTime;
|
||||
packet.payload = wkMsg.content;
|
||||
_addSendingMsg(packet);
|
||||
_sendPacket(packet);
|
||||
@ -500,11 +501,10 @@ class WKConnectionManager {
|
||||
int isDelete = 0;
|
||||
if (jsonObject != null) {
|
||||
var visibles = jsonObject['visibles'];
|
||||
if (visibles != null) {
|
||||
if (visibles != null && visibles is List) {
|
||||
bool isIncludeLoginUser = false;
|
||||
var uids = visibles as List<String>;
|
||||
for (int i = 0, size = uids.length; i < size; i++) {
|
||||
if (uids[i] == WKIM.shared.options.uid) {
|
||||
for (int i = 0, size = visibles.length; i < size; i++) {
|
||||
if (visibles[i] == WKIM.shared.options.uid) {
|
||||
isIncludeLoginUser = true;
|
||||
break;
|
||||
}
|
||||
|
@ -68,7 +68,7 @@ class WKMessageManager {
|
||||
}
|
||||
// var entities = WKDBConst.readString(json, 'entities');
|
||||
var jsonArray = json['entities'];
|
||||
if (jsonArray != null) {
|
||||
if (jsonArray != null && jsonArray is List) {
|
||||
// var jsonArray = jsonDecode(entities);
|
||||
List<WKMsgEntity> list = [];
|
||||
for (var entityJson in jsonArray) {
|
||||
@ -87,7 +87,7 @@ class WKMessageManager {
|
||||
var mentionInfo = WKMentionInfo();
|
||||
var mentionAll = WKDBConst.readInt(mentionJson, 'all');
|
||||
var uidList = mentionJson['uids'];
|
||||
if (uidList != null) {
|
||||
if (uidList != null && uidList is List) {
|
||||
List<String> uids = [];
|
||||
for (var uid in uidList) {
|
||||
uids.add(uid);
|
||||
@ -554,25 +554,20 @@ class WKMessageManager {
|
||||
}
|
||||
|
||||
sendMessage(WKMessageContent messageContent, WKChannel channel) async {
|
||||
var header = MessageHeader();
|
||||
header.redDot = true;
|
||||
sendMessageWithSettingAndHeader(messageContent, channel, Setting(), header);
|
||||
sendWithOption(messageContent, channel, WKSendOptions());
|
||||
}
|
||||
|
||||
sendMessageWithSetting(
|
||||
WKMessageContent messageContent, WKChannel channel, Setting setting) {
|
||||
var header = MessageHeader();
|
||||
header.redDot = true;
|
||||
sendMessageWithSettingAndHeader(messageContent, channel, setting, header);
|
||||
}
|
||||
|
||||
sendMessageWithSettingAndHeader(WKMessageContent messageContent,
|
||||
WKChannel channel, Setting setting, MessageHeader header) async {
|
||||
sendWithOption(WKMessageContent messageContent, WKChannel channel,
|
||||
WKSendOptions options) async {
|
||||
WKMsg wkMsg = WKMsg();
|
||||
wkMsg.setting = setting;
|
||||
wkMsg.header = header;
|
||||
wkMsg.setting = options.setting;
|
||||
wkMsg.header = options.header;
|
||||
wkMsg.messageContent = messageContent;
|
||||
wkMsg.topicID = messageContent.topicId;
|
||||
wkMsg.topicID = options.topicID;
|
||||
wkMsg.expireTime = options.expire;
|
||||
if (wkMsg.expireTime > 0) {
|
||||
wkMsg.expireTimestamp = wkMsg.timestamp + wkMsg.expireTime;
|
||||
}
|
||||
wkMsg.channelID = channel.channelID;
|
||||
wkMsg.channelType = channel.channelType;
|
||||
wkMsg.fromUID = WKIM.shared.options.uid!;
|
||||
@ -633,6 +628,23 @@ class WKMessageManager {
|
||||
}
|
||||
}
|
||||
|
||||
@Deprecated('use sendWithOption')
|
||||
sendMessageWithSetting(
|
||||
WKMessageContent messageContent, WKChannel channel, Setting setting) {
|
||||
var header = MessageHeader();
|
||||
header.redDot = true;
|
||||
sendMessageWithSettingAndHeader(messageContent, channel, setting, header);
|
||||
}
|
||||
|
||||
@Deprecated('use sendWithOption')
|
||||
sendMessageWithSettingAndHeader(WKMessageContent messageContent,
|
||||
WKChannel channel, Setting setting, MessageHeader header) async {
|
||||
var options = WKSendOptions();
|
||||
options.setting = setting;
|
||||
options.header = header;
|
||||
sendWithOption(messageContent, channel, options);
|
||||
}
|
||||
|
||||
String _getSendPayload(WKMsg wkMsg) {
|
||||
dynamic json = wkMsg.messageContent!.encodeJson();
|
||||
json['type'] = wkMsg.contentType;
|
||||
|
@ -3,6 +3,7 @@ import 'package:wukongimfluttersdk/entity/msg.dart';
|
||||
class WKMessageContent {
|
||||
var contentType = 0;
|
||||
String content = "";
|
||||
@Deprecated('Mark with WKSendOptions')
|
||||
String topicId = "";
|
||||
WKReply? reply;
|
||||
List<WKMsgEntity>? entities;
|
||||
|
Loading…
x
Reference in New Issue
Block a user