Files
TIMSDK/Flutter/Demo/im_api_example/lib/im/setLocalCustomData.dart
T
2022-03-01 16:56:46 +08:00

97 lines
2.8 KiB
Dart
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import 'package:flutter/material.dart';
import 'package:im_api_example/im/conversationSelector.dart';
import 'package:im_api_example/im/messageSelector.dart';
import 'package:im_api_example/utils/sdkResponse.dart';
import 'package:tencent_im_sdk_plugin/models/v2_tim_callback.dart';
import 'package:tencent_im_sdk_plugin/tencent_im_sdk_plugin.dart';
import 'package:im_api_example/i18n/i18n_utils.dart';
class SetLocalCustomData extends StatefulWidget {
@override
State<StatefulWidget> createState() => SetLocalCustomDataState();
}
class SetLocalCustomDataState extends State<SetLocalCustomData> {
Map<String, dynamic>? resData;
List<String> receiver = List.empty(growable: true);
List<String> groupID = List.empty(growable: true);
int priority = 0;
bool onlineUserOnly = false;
bool isExcludedFromUnreadCount = false;
List<String> conversaions = List.empty(growable: true);
List<String> msgIDs = List.empty(growable: true);
setLocalCustomData() async {
V2TimCallback res = await TencentImSDKPlugin.v2TIMManager
.getMessageManager()
.setLocalCustomData(
msgID: msgIDs.first,
localCustomData: imt("自定义数据"),
);
setState(() {
resData = res.toJson();
});
}
@override
Widget build(BuildContext context) {
return Container(
child: Column(
children: [
new Row(
children: [
ConversationSelector(
onSelect: (data) {
setState(() {
conversaions = data;
});
},
switchSelectType: true,
value: conversaions,
),
Expanded(
child: Container(
margin: EdgeInsets.only(left: 10),
child: Text(conversaions.length > 0
? conversaions.toString()
: imt("未选择")),
),
)
],
),
Row(
children: [
MessageSelector(
conversaions.isNotEmpty ? conversaions.first : "",
msgIDs,
(data) {
setState(() {
msgIDs = data;
});
},
),
Expanded(
child: Container(
margin: EdgeInsets.only(left: 12),
child: Text(msgIDs.toString()),
))
],
),
Row(
children: [
Expanded(
child: ElevatedButton(
onPressed: setLocalCustomData,
child: Text(imt("本地修改消息(String)")),
),
)
],
),
SDKResponse(resData),
],
),
);
}
}