From 708149d1a760a6eec6626c43d86b280887e6136c Mon Sep 17 00:00:00 2001 From: SL Date: Tue, 12 Dec 2023 16:56:07 +0800 Subject: [PATCH] add custom message example --- example/lib/chat.dart | 8 ++++++-- example/lib/custom_message.dart | 23 +++++++++++++++++++++++ example/lib/im.dart | 4 ++++ pubspec.yaml | 2 +- 4 files changed, 34 insertions(+), 3 deletions(-) create mode 100644 example/lib/custom_message.dart diff --git a/example/lib/chat.dart b/example/lib/chat.dart index ea45a11..697e4a3 100644 --- a/example/lib/chat.dart +++ b/example/lib/chat.dart @@ -7,6 +7,7 @@ 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 { @@ -365,9 +366,12 @@ class ChatListDataState extends State { _textEditingController.text = ''; Setting setting = Setting(); setting.receipt = 1; //开启回执 - WKTextContent text = WKTextContent(content); + // WKTextContent text = WKTextContent(content); + CustomMsg customMsg = CustomMsg(content); WKIM.shared.messageManager.sendMessageWithSetting( - text, WKChannel(channelID, channelType), setting); + customMsg, + WKChannel(channelID, channelType), + setting); // WKImageContent imageContent = WKImageContent(100, 200); // imageContent.localPath = 'addskds'; // WKIM.shared.messageManager.sendMessage( diff --git a/example/lib/custom_message.dart b/example/lib/custom_message.dart new file mode 100644 index 0000000..82da3df --- /dev/null +++ b/example/lib/custom_message.dart @@ -0,0 +1,23 @@ +import 'package:wukongimfluttersdk/model/wk_message_content.dart'; + +class CustomMsg extends WKMessageContent { + var name = ""; + CustomMsg(this.name) { + contentType = 12; + } + @override + Map encodeJson() { + return {"name": name}; + } + + @override + WKMessageContent decodeJson(Map json) { + name = json["name"]; + return this; + } + + @override + String displayText() { + return "我是自定义消息:$name"; + } +} diff --git a/example/lib/im.dart b/example/lib/im.dart index 1318f93..acef7d2 100644 --- a/example/lib/im.dart +++ b/example/lib/im.dart @@ -7,6 +7,7 @@ import 'package:wukongimfluttersdk/model/wk_voice_content.dart'; import 'package:wukongimfluttersdk/type/const.dart'; import 'package:wukongimfluttersdk/wkim.dart'; +import 'custom_message.dart'; import 'http.dart'; class IMUtils { @@ -21,6 +22,9 @@ class IMUtils { WKIM.shared.connectionManager.connect(); initListener(); } + // 注册自定义消息 + WKIM.shared.messageManager + .registerMsgContent(12, (data) => CustomMsg("").decodeJson(data)); return result; } diff --git a/pubspec.yaml b/pubspec.yaml index 1871aea..e60de13 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -19,7 +19,7 @@ version: 1.2.4 homepage: https://github.com/WuKongIM/WuKongIMFlutterSDK environment: - sdk: '>=3.0.6 <4.0.0' + sdk: '>=2.0.0 <4.0.0' # Dependencies specify other packages that your package needs in order to work. # To automatically upgrade your package dependencies to the latest versions