更新消息小红点未读显示

This commit is contained in:
wyf
2025-12-10 16:59:29 +08:00
parent fb5a17830b
commit f2657e4238
5 changed files with 75 additions and 54 deletions

View File

@@ -203,10 +203,6 @@ class MessageController extends GetControllerEx<MessageModel> {
// 拼接 URL添加 type 参数
String queryUrl = "$serviceAddress$serviceName$serviceApi";
if (type != null && type.isNotEmpty) {
queryUrl += "?type=$type";
}
String? language = "";
if (AppConstants().ent_type == APPPackageType.MHT.code) {
if (mhLanguageController.selectLanguage != null) {
@@ -228,6 +224,7 @@ class MessageController extends GetControllerEx<MessageModel> {
queryUrl = "$queryUrl&type=$type";
}
queryUrl = "$queryUrl&mid=ALL";
queryUrl = "$queryUrl";
var response = await EasyDartModule.dio.post(queryUrl);
if (response != null) {

View File

@@ -486,7 +486,7 @@ Future<void> startMessagePolling(int ent_type) async {
}
}
_messageTimer = Timer.periodic(Duration(seconds: 10), (timer) async {
_messageTimer = Timer.periodic(Duration(seconds: 1), (timer) async {
try {
if (ent_type == APPPackageType.MHT.code) {
if (Get.isRegistered<MhMessageController>()) {

View File

@@ -319,14 +319,34 @@ class _HomePageState extends State<HomePage> {
mainAxisAlignment:
MainAxisAlignment.end,
children: [
Container(
ClickableContainer(
backgroundColor:
Colors.transparent,
highlightColor:
Colors.transparent,
padding: EdgeInsets.all(0),
onTap: () async {
int login = userInfoController
.model.login!;
if (login == 1) {
await Get.toNamed(
"/updateUserPage");
await userInfoController
.getUserInfo();
userInfoController
.updateAll();
} else {
Get.toNamed("/loginPage");
}
},
child: Container(
constraints: BoxConstraints(
maxWidth:
bodySize.maxWidth *
0.6),
child: Text(
userInfoController.model.user!
.nick_name ??
userInfoController.model
.user!.nick_name ??
'未命名'.tr,
style: TextStyle(
color: themeController
@@ -339,6 +359,7 @@ class _HomePageState extends State<HomePage> {
TextOverflow.ellipsis,
),
),
),
// Obx(() {
// return Row(
// children: [

View File

@@ -321,8 +321,7 @@ class MainPageBottomChange extends GetView<MainPageController> {
"assets/img/menu/e.svg", "assets/img/menu/n_e.svg", "菜单.小e".tr),
getBottomNavigationBarItem("assets/img/menu/message.svg",
"assets/img/menu/n_message.svg", "菜单.消息".tr,
showBadge: (messageController.model.body_message_read == 1 ||
messageController.model.system_message_read == 1)),
showBadge: true),
getBottomNavigationBarItem("assets/img/menu/mine.svg",
"assets/img/menu/n_mine.svg", "菜单.我的".tr),
];
@@ -350,6 +349,9 @@ class MainPageBottomChange extends GetView<MainPageController> {
if (size == 0) size = 36.rpx;
Widget buildIcon(String path) {
return Obx(() {
int type1 = messageController.model.body_message_read!;
int type2 = messageController.model.system_message_read!;
return Padding(
padding: EdgeInsets.only(bottom: 6.rpx),
child: isEmpty
@@ -362,7 +364,7 @@ class MainPageBottomChange extends GetView<MainPageController> {
width: size,
height: size,
),
if (showBadge)
if ((type1 == 1 || type2 == 1) && showBadge)
Positioned(
right: -20.rpx,
top: -2.rpx,
@@ -378,6 +380,7 @@ class MainPageBottomChange extends GetView<MainPageController> {
],
),
);
});
}
return BottomNavigationBarItem(

View File

@@ -703,7 +703,7 @@ class _MinePageState extends State<MinePage> {
mainAxisSize: MainAxisSize.max,
children: [
Text(
'V1.0.2512.09',
'V1.0.2512.10',
style: TextStyle(
fontFamily: 'Inter',
// color: Color(0xFFD9E3EB),