FondleTalk/lib/tools/message/message_model.dart
2024-07-26 13:26:09 +08:00

66 lines
1.7 KiB
Dart

import 'dart:async';
import 'package:talk/network/NetworkConfig.dart';
import 'package:talk/network/RequestCenter.dart';
import '../../beans/message_bean.dart';
import '../../network/BaseEntity.dart';
class MessageModel {
StreamController streamController = StreamController.broadcast();
MessageModel() {
setup();
}
void setup() {
//初始化
}
///消息列表
Future<void> getChatHistoryList() async {
RequestCenter.instance.requestGet(NetworkConfig.getChatHistoryList, {}, (BaseEntity dataEntity) {
print("dataEntity==${dataEntity.data}");
if (dataEntity.code == 0) {
List<MessageBean> data = (dataEntity.data as List<dynamic>).map((e) => MessageBean.fromJson(e as Map<String, dynamic>)).toList();
streamController.sink.add({
'code': "getChatHistoryList", //有数据
'data': data,
});
} else {
streamController.sink.add({
'code': "error", //
'data': dataEntity.message,
});
}
}, (ErrorEntity errorEntity) {
print("errorEntity==${errorEntity.message}");
});
}
///清空聊天信息(重启聊天)
Future<void> delChat(characterId) async {
RequestCenter.instance.request(NetworkConfig.delChat, {
"characterId": characterId,
}, (BaseEntity dataEntity) {
print("dataEntity==$dataEntity");
if (dataEntity.code == 0) {
streamController.sink.add({
'code': "delChat", //有数据
'data': dataEntity.data
});
} else {
streamController.sink.add({
'code': "-1", //有数据
'data': dataEntity.message
});
}
}, (ErrorEntity errorEntity) {
print("errorEntity==${errorEntity.message}");
});
}
}