更新
This commit is contained in:
@@ -15,6 +15,8 @@ part 'message_controller.g.dart'; // 由json_serializable自动生成的部分
|
||||
@JsonSerializable()
|
||||
class MessageModel {
|
||||
int? type = 1; //设备类型 1:体征消息 2.系统消息
|
||||
int? body_message_read = 0; //体征消息 0:已读 1:未读
|
||||
int? system_message_read = 0; //系统消息 0:已读 1:未读
|
||||
|
||||
MessageModel();
|
||||
|
||||
@@ -38,7 +40,7 @@ class MessageController extends GetControllerEx<MessageModel> {
|
||||
attr = GetModel(MessageModel()).obs;
|
||||
}
|
||||
|
||||
RxList msssageList = [].obs;
|
||||
RxList messageList = [].obs;
|
||||
|
||||
Future<ApiResponse> getMessageList({String? key}) async {
|
||||
try {
|
||||
@@ -53,7 +55,18 @@ class MessageController extends GetControllerEx<MessageModel> {
|
||||
messageType = "app_system";
|
||||
}
|
||||
String queryUrl =
|
||||
"${serviceAddress}${serviceName}${serviceApi}?type=${messageType}'}";
|
||||
"${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";
|
||||
}
|
||||
}
|
||||
var response = await EasyDartModule.dio.get(queryUrl);
|
||||
if (response != null) {
|
||||
var responseData =
|
||||
@@ -63,6 +76,7 @@ class MessageController extends GetControllerEx<MessageModel> {
|
||||
MyUtils.formatResponse(res, "请求成功".tr, "请求失败".tr);
|
||||
if (res.code == HttpStatusCodes.ok) {
|
||||
updateAll();
|
||||
messageList.value = res.data;
|
||||
return res;
|
||||
}
|
||||
} else {
|
||||
@@ -75,4 +89,110 @@ class MessageController extends GetControllerEx<MessageModel> {
|
||||
}
|
||||
return ApiResponse(code: -1, msg: "未知错误".tr); // Default return statement
|
||||
}
|
||||
|
||||
//获取消息已读未读
|
||||
Future<ApiResponse> getMessageStatus() async {
|
||||
try {
|
||||
ApiResponse apiResponse = ApiResponse(code: -1, msg: "请求失败".tr);
|
||||
// return apiResponse;
|
||||
String serviceAddress = ServiceConstant.service_address;
|
||||
String serviceName = ServiceConstant.server_service;
|
||||
String serviceApi = ServiceConstant.message_read;
|
||||
|
||||
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";
|
||||
}
|
||||
}
|
||||
var response = await EasyDartModule.dio.get(queryUrl);
|
||||
if (response != null) {
|
||||
var responseData =
|
||||
response.data is String ? jsonDecode(response.data) : response.data;
|
||||
ApiResponse res =
|
||||
ApiResponse.fromJson(responseData, (object) => object);
|
||||
MyUtils.formatResponse(res, "请求成功".tr, "请求失败".tr);
|
||||
if (res.code == HttpStatusCodes.ok) {
|
||||
updateAll();
|
||||
List dataList = res.data;
|
||||
|
||||
// 查找 type 为 app_vsm 的项
|
||||
var vsmItem = dataList.firstWhere(
|
||||
(e) => e['type'] == 'app_vsm',
|
||||
orElse: () => null,
|
||||
);
|
||||
model.body_message_read = vsmItem?['count'] ?? 0;
|
||||
|
||||
// 查找 type 为 app_system 的项
|
||||
var systemItem = dataList.firstWhere(
|
||||
(e) => e['type'] == 'app_system',
|
||||
orElse: () => null,
|
||||
);
|
||||
model.system_message_read = systemItem?['count'] ?? 0;
|
||||
|
||||
updateAll();
|
||||
return res;
|
||||
}
|
||||
} else {
|
||||
return ApiResponse(code: -1, msg: "服务器.失败".tr);
|
||||
}
|
||||
return apiResponse;
|
||||
} catch (e) {
|
||||
EasyDartModule.logger.info("获取消息已读未读: $e");
|
||||
DailyLogUtils.writeLog("获取消息已读未读: $e");
|
||||
}
|
||||
return ApiResponse(code: -1, msg: "未知错误".tr); // Default return statement
|
||||
}
|
||||
|
||||
//更新消息已读
|
||||
Future<ApiResponse> updateMessageStatus({String? type}) async {
|
||||
EasyDartModule.logger.info("更新消息已读状态");
|
||||
DailyLogUtils.writeLog("更新消息已读状态");
|
||||
try {
|
||||
ApiResponse apiResponse = ApiResponse(code: -1, msg: "操作失败".tr);
|
||||
String serviceAddress = ServiceConstant.service_address;
|
||||
String serviceName = ServiceConstant.server_service;
|
||||
String serviceApi = ServiceConstant.message_read;
|
||||
|
||||
// 拼接 URL,添加 type 参数
|
||||
String queryUrl = "$serviceAddress$serviceName$serviceApi";
|
||||
if (type != null && type.isNotEmpty) {
|
||||
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";
|
||||
}
|
||||
}
|
||||
var response = await EasyDartModule.dio.post(queryUrl);
|
||||
|
||||
if (response != null) {
|
||||
var responseData =
|
||||
response.data is String ? jsonDecode(response.data) : response.data;
|
||||
ApiResponse res =
|
||||
ApiResponse.fromJson(responseData, (object) => object);
|
||||
MyUtils.formatResponse(res, "操作成功".tr, "操作成功".tr);
|
||||
return res;
|
||||
} else {
|
||||
return ApiResponse(code: -1, msg: "服务器.失败".tr);
|
||||
}
|
||||
} catch (e) {
|
||||
EasyDartModule.logger.info("更新消息已读状态->$e");
|
||||
DailyLogUtils.writeLog("更新消息已读状态->$e");
|
||||
return ApiResponse(code: -1, msg: "服务器.失败".tr);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6,10 +6,14 @@ part of 'message_controller.dart';
|
||||
// JsonSerializableGenerator
|
||||
// **************************************************************************
|
||||
|
||||
MessageModel _$MessageModelFromJson(Map<String, dynamic> json) =>
|
||||
MessageModel()..type = (json['type'] as num?)?.toInt();
|
||||
MessageModel _$MessageModelFromJson(Map<String, dynamic> json) => MessageModel()
|
||||
..type = (json['type'] as num?)?.toInt()
|
||||
..body_message_read = (json['body_message_read'] as num?)?.toInt()
|
||||
..system_message_read = (json['system_message_read'] as num?)?.toInt();
|
||||
|
||||
Map<String, dynamic> _$MessageModelToJson(MessageModel instance) =>
|
||||
<String, dynamic>{
|
||||
'type': instance.type,
|
||||
'body_message_read': instance.body_message_read,
|
||||
'system_message_read': instance.system_message_read,
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user