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