From b23f6d3a451d6f7e1e82ae2bdb1d69724e134699 Mon Sep 17 00:00:00 2001 From: SL Date: Fri, 23 Feb 2024 11:40:14 +0800 Subject: [PATCH] Modification of sending messages containing replies or tag class message parsing errors --- CHANGELOG.md | 4 +++- README.md | 2 +- example/lib/chat.dart | 23 ++++++++++++++++++----- lib/manager/message_manager.dart | 13 +++++++------ pubspec.yaml | 2 +- 5 files changed, 30 insertions(+), 14 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 54e2f0a..befb0ad 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -55,4 +55,6 @@ ### 1.2.7 * update query channel member avatar ### 1.2.8 - * Modify the editing message method parameters \ No newline at end of file + * Modify the editing message method parameters + ### 1.2.9 + * Modification of sending messages containing replies or tag class message parsing errors \ No newline at end of file diff --git a/README.md b/README.md index 986ec50..708f99e 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@ #### 安装 ``` dependencies: - wukongimfluttersdk: ^1.2.8 + wukongimfluttersdk: ^1.2.9 ``` #### 引入 ```dart diff --git a/example/lib/chat.dart b/example/lib/chat.dart index 697e4a3..50e7da8 100644 --- a/example/lib/chat.dart +++ b/example/lib/chat.dart @@ -1,3 +1,5 @@ +import 'dart:ffi'; + import 'package:example/const.dart'; import 'package:flutter/material.dart'; import 'package:wukongimfluttersdk/entity/channel.dart'; @@ -366,12 +368,23 @@ class ChatListDataState extends State { _textEditingController.text = ''; Setting setting = Setting(); setting.receipt = 1; //开启回执 - // WKTextContent text = WKTextContent(content); - CustomMsg customMsg = CustomMsg(content); + WKTextContent text = WKTextContent(content); + WKReply reply = WKReply(); + reply.messageId = "11"; + reply.rootMid = "111"; + reply.fromUID = "11"; + reply.fromName = "12"; + text.reply = reply; + List list = []; + WKMsgEntity entity = WKMsgEntity(); + entity.offset = 0; + entity.value = "1"; + entity.length = 1; + list.add(entity); + text.entities = list; + // CustomMsg customMsg = CustomMsg(content); WKIM.shared.messageManager.sendMessageWithSetting( - customMsg, - WKChannel(channelID, channelType), - setting); + text, WKChannel(channelID, channelType), setting); // WKImageContent imageContent = WKImageContent(100, 200); // imageContent.localPath = 'addskds'; // WKIM.shared.messageManager.sendMessage( diff --git a/lib/manager/message_manager.dart b/lib/manager/message_manager.dart index d39b575..59e8c95 100644 --- a/lib/manager/message_manager.dart +++ b/lib/manager/message_manager.dart @@ -61,14 +61,15 @@ class WKMessageManager { } content ??= WKUnknownContent(); // 回复 - var replyJson = WKDBConst.readString(json, 'reply'); - if (replyJson != '') { - var reply = WKReply().decode(jsonDecode(replyJson)); + var replyJson = json['reply']; + if (replyJson != null) { + var reply = WKReply().decode(replyJson); content.reply = reply; } - var entities = WKDBConst.readString(json, 'entities'); - if (entities != '') { - var jsonArray = jsonDecode(entities); + // var entities = WKDBConst.readString(json, 'entities'); + var jsonArray = json['entities']; + if (jsonArray != null) { + // var jsonArray = jsonDecode(entities); List list = []; for (var entityJson in jsonArray) { WKMsgEntity entity = WKMsgEntity(); diff --git a/pubspec.yaml b/pubspec.yaml index 55b80bd..e0ca37b 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -15,7 +15,7 @@ description: wukong IM flutter sdk # https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html # In Windows, build-name is used as the major, minor, and patch parts # of the product and file versions while build-number is used as the build suffix. -version: 1.2.8 +version: 1.2.9 homepage: https://github.com/WuKongIM/WuKongIMFlutterSDK environment: