66 lines
1.7 KiB
Dart
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}");
|
|
});
|
|
}
|
|
}
|