更新消息回看功能

This commit is contained in:
wyf
2025-05-24 18:14:53 +08:00
parent a5582faa79
commit 3a3c01b618
6 changed files with 321 additions and 78 deletions

View File

@@ -56,17 +56,17 @@ class MessageController extends GetControllerEx<MessageModel> {
}
String queryUrl =
"${serviceAddress}${serviceName}${serviceApi}?type=${messageType}";
String? language = "";
if (languageController.selectLanguage != null) {
language = languageController.selectLanguage.value!.language_code;
}
if (language != null && language.isNotEmpty) {
if (queryUrl.contains("?")) {
queryUrl += "&lang=$language";
} else {
queryUrl += "?lang=$language";
}
String? language = "";
if (languageController.selectLanguage != null) {
language = languageController.selectLanguage.value!.language_code;
}
if (language != null && language.isNotEmpty) {
if (queryUrl.contains("?")) {
queryUrl += "&lang=$language";
} else {
queryUrl += "?lang=$language";
}
}
var response = await EasyDartModule.dio.get(queryUrl);
if (response != null) {
var responseData =
@@ -101,16 +101,16 @@ class MessageController extends GetControllerEx<MessageModel> {
String queryUrl = "${serviceAddress}${serviceName}${serviceApi}";
String? language = "";
if (languageController.selectLanguage != null) {
language = languageController.selectLanguage.value!.language_code;
}
if (language != null && language.isNotEmpty) {
if (queryUrl.contains("?")) {
queryUrl += "&lang=$language";
} else {
queryUrl += "?lang=$language";
}
if (languageController.selectLanguage != null) {
language = languageController.selectLanguage.value!.language_code;
}
if (language != null && language.isNotEmpty) {
if (queryUrl.contains("?")) {
queryUrl += "&lang=$language";
} else {
queryUrl += "?lang=$language";
}
}
var response = await EasyDartModule.dio.get(queryUrl);
if (response != null) {
var responseData =
@@ -135,7 +135,7 @@ class MessageController extends GetControllerEx<MessageModel> {
orElse: () => null,
);
model.system_message_read = systemItem?['count'] ?? 0;
updateAll();
return res;
}
@@ -166,17 +166,17 @@ class MessageController extends GetControllerEx<MessageModel> {
queryUrl += "?type=$type";
}
String? language = "";
if (languageController.selectLanguage != null) {
language = languageController.selectLanguage.value!.language_code;
}
if (language != null && language.isNotEmpty) {
if (queryUrl.contains("?")) {
queryUrl += "&lang=$language";
} else {
queryUrl += "?lang=$language";
}
String? language = "";
if (languageController.selectLanguage != null) {
language = languageController.selectLanguage.value!.language_code;
}
if (language != null && language.isNotEmpty) {
if (queryUrl.contains("?")) {
queryUrl += "&lang=$language";
} else {
queryUrl += "?lang=$language";
}
}
var response = await EasyDartModule.dio.post(queryUrl);
if (response != null) {

View File

@@ -0,0 +1,35 @@
import 'package:ef/ef.dart';
import 'package:json_annotation/json_annotation.dart';
part 'message_review_controller.g.dart'; // 由json_serializable自动生成的部分
@JsonSerializable()
class MessageReviewModel {
int? type = 1; //设备类型 1:体征消息 2.系统消息
MessageReviewModel();
// 从JSON反序列化时的异常处理
factory MessageReviewModel.fromJson(Map<String, dynamic> json) {
try {
return _$MessageReviewModelFromJson(json);
} catch (e) {
// 在实际应用中,应该有更细致的异常处理策略和错误日志
return MessageReviewModel(); // 或者返回一个带有错误信息的特定DeviceInfoModel实例
}
}
// 序列化为JSON时的异常处理
Map<String, dynamic> toJson() => _$MessageReviewModelToJson(this);
}
class MessageReviewController extends GetControllerEx<MessageReviewModel> {
MessageReviewModel() {
attr = GetModel(MessageReviewModel()).obs;
}
RxList messageList = [].obs;
}

View File

@@ -0,0 +1,15 @@
// GENERATED CODE - DO NOT MODIFY BY HAND
part of 'message_review_controller.dart';
// **************************************************************************
// JsonSerializableGenerator
// **************************************************************************
MessageReviewModel _$MessageReviewModelFromJson(Map<String, dynamic> json) =>
MessageReviewModel()..type = (json['type'] as num?)?.toInt();
Map<String, dynamic> _$MessageReviewModelToJson(MessageReviewModel instance) =>
<String, dynamic>{
'type': instance.type,
};