更新消息小红点未读显示
This commit is contained in:
@@ -132,7 +132,7 @@ class MessageController extends GetControllerEx<MessageModel> {
|
|||||||
|
|
||||||
String queryUrl = "${serviceAddress}${serviceName}${serviceApi}";
|
String queryUrl = "${serviceAddress}${serviceName}${serviceApi}";
|
||||||
String? language = "";
|
String? language = "";
|
||||||
if (AppConstants().ent_type == APPPackageType.MHT.code) {
|
if (AppConstants().ent_type == APPPackageType.MHT.code) {
|
||||||
if (mhLanguageController.selectLanguage != null) {
|
if (mhLanguageController.selectLanguage != null) {
|
||||||
language = mhLanguageController.selectLanguage.value!.language_code;
|
language = mhLanguageController.selectLanguage.value!.language_code;
|
||||||
}
|
}
|
||||||
@@ -203,12 +203,8 @@ class MessageController extends GetControllerEx<MessageModel> {
|
|||||||
|
|
||||||
// 拼接 URL,添加 type 参数
|
// 拼接 URL,添加 type 参数
|
||||||
String queryUrl = "$serviceAddress$serviceName$serviceApi";
|
String queryUrl = "$serviceAddress$serviceName$serviceApi";
|
||||||
if (type != null && type.isNotEmpty) {
|
|
||||||
queryUrl += "?type=$type";
|
|
||||||
}
|
|
||||||
|
|
||||||
String? language = "";
|
String? language = "";
|
||||||
if (AppConstants().ent_type == APPPackageType.MHT.code) {
|
if (AppConstants().ent_type == APPPackageType.MHT.code) {
|
||||||
if (mhLanguageController.selectLanguage != null) {
|
if (mhLanguageController.selectLanguage != null) {
|
||||||
language = mhLanguageController.selectLanguage.value!.language_code;
|
language = mhLanguageController.selectLanguage.value!.language_code;
|
||||||
}
|
}
|
||||||
@@ -227,7 +223,8 @@ class MessageController extends GetControllerEx<MessageModel> {
|
|||||||
if (type != null) {
|
if (type != null) {
|
||||||
queryUrl = "$queryUrl&type=$type";
|
queryUrl = "$queryUrl&type=$type";
|
||||||
}
|
}
|
||||||
queryUrl = "$queryUrl&mid=ALL";
|
queryUrl = "$queryUrl&mid=ALL";
|
||||||
|
queryUrl = "$queryUrl";
|
||||||
var response = await EasyDartModule.dio.post(queryUrl);
|
var response = await EasyDartModule.dio.post(queryUrl);
|
||||||
|
|
||||||
if (response != null) {
|
if (response != null) {
|
||||||
|
|||||||
@@ -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 {
|
try {
|
||||||
if (ent_type == APPPackageType.MHT.code) {
|
if (ent_type == APPPackageType.MHT.code) {
|
||||||
if (Get.isRegistered<MhMessageController>()) {
|
if (Get.isRegistered<MhMessageController>()) {
|
||||||
|
|||||||
@@ -319,24 +319,45 @@ class _HomePageState extends State<HomePage> {
|
|||||||
mainAxisAlignment:
|
mainAxisAlignment:
|
||||||
MainAxisAlignment.end,
|
MainAxisAlignment.end,
|
||||||
children: [
|
children: [
|
||||||
Container(
|
ClickableContainer(
|
||||||
constraints: BoxConstraints(
|
backgroundColor:
|
||||||
maxWidth:
|
Colors.transparent,
|
||||||
bodySize.maxWidth *
|
highlightColor:
|
||||||
0.6),
|
Colors.transparent,
|
||||||
child: Text(
|
padding: EdgeInsets.all(0),
|
||||||
userInfoController.model.user!
|
onTap: () async {
|
||||||
.nick_name ??
|
int login = userInfoController
|
||||||
'未命名'.tr,
|
.model.login!;
|
||||||
style: TextStyle(
|
if (login == 1) {
|
||||||
color: themeController
|
await Get.toNamed(
|
||||||
.currentColor.sc3,
|
"/updateUserPage");
|
||||||
fontSize: AppConstants()
|
await userInfoController
|
||||||
.normal_text_fontSize,
|
.getUserInfo();
|
||||||
|
userInfoController
|
||||||
|
.updateAll();
|
||||||
|
} else {
|
||||||
|
Get.toNamed("/loginPage");
|
||||||
|
}
|
||||||
|
},
|
||||||
|
child: Container(
|
||||||
|
constraints: BoxConstraints(
|
||||||
|
maxWidth:
|
||||||
|
bodySize.maxWidth *
|
||||||
|
0.6),
|
||||||
|
child: Text(
|
||||||
|
userInfoController.model
|
||||||
|
.user!.nick_name ??
|
||||||
|
'未命名'.tr,
|
||||||
|
style: TextStyle(
|
||||||
|
color: themeController
|
||||||
|
.currentColor.sc3,
|
||||||
|
fontSize: AppConstants()
|
||||||
|
.normal_text_fontSize,
|
||||||
|
),
|
||||||
|
maxLines: 1,
|
||||||
|
overflow:
|
||||||
|
TextOverflow.ellipsis,
|
||||||
),
|
),
|
||||||
maxLines: 1,
|
|
||||||
overflow:
|
|
||||||
TextOverflow.ellipsis,
|
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
// Obx(() {
|
// Obx(() {
|
||||||
|
|||||||
@@ -321,8 +321,7 @@ class MainPageBottomChange extends GetView<MainPageController> {
|
|||||||
"assets/img/menu/e.svg", "assets/img/menu/n_e.svg", "菜单.小e".tr),
|
"assets/img/menu/e.svg", "assets/img/menu/n_e.svg", "菜单.小e".tr),
|
||||||
getBottomNavigationBarItem("assets/img/menu/message.svg",
|
getBottomNavigationBarItem("assets/img/menu/message.svg",
|
||||||
"assets/img/menu/n_message.svg", "菜单.消息".tr,
|
"assets/img/menu/n_message.svg", "菜单.消息".tr,
|
||||||
showBadge: (messageController.model.body_message_read == 1 ||
|
showBadge: true),
|
||||||
messageController.model.system_message_read == 1)),
|
|
||||||
getBottomNavigationBarItem("assets/img/menu/mine.svg",
|
getBottomNavigationBarItem("assets/img/menu/mine.svg",
|
||||||
"assets/img/menu/n_mine.svg", "菜单.我的".tr),
|
"assets/img/menu/n_mine.svg", "菜单.我的".tr),
|
||||||
];
|
];
|
||||||
@@ -350,34 +349,38 @@ class MainPageBottomChange extends GetView<MainPageController> {
|
|||||||
if (size == 0) size = 36.rpx;
|
if (size == 0) size = 36.rpx;
|
||||||
|
|
||||||
Widget buildIcon(String path) {
|
Widget buildIcon(String path) {
|
||||||
return Padding(
|
return Obx(() {
|
||||||
padding: EdgeInsets.only(bottom: 6.rpx),
|
int type1 = messageController.model.body_message_read!;
|
||||||
child: isEmpty
|
int type2 = messageController.model.system_message_read!;
|
||||||
? Container()
|
return Padding(
|
||||||
: Stack(
|
padding: EdgeInsets.only(bottom: 6.rpx),
|
||||||
clipBehavior: Clip.none,
|
child: isEmpty
|
||||||
children: [
|
? Container()
|
||||||
SvgPicture.asset(
|
: Stack(
|
||||||
path,
|
clipBehavior: Clip.none,
|
||||||
width: size,
|
children: [
|
||||||
height: size,
|
SvgPicture.asset(
|
||||||
),
|
path,
|
||||||
if (showBadge)
|
width: size,
|
||||||
Positioned(
|
height: size,
|
||||||
right: -20.rpx,
|
),
|
||||||
top: -2.rpx,
|
if ((type1 == 1 || type2 == 1) && showBadge)
|
||||||
child: Container(
|
Positioned(
|
||||||
width: 14.rpx,
|
right: -20.rpx,
|
||||||
height: 14.rpx,
|
top: -2.rpx,
|
||||||
decoration: const BoxDecoration(
|
child: Container(
|
||||||
color: Colors.red,
|
width: 14.rpx,
|
||||||
shape: BoxShape.circle,
|
height: 14.rpx,
|
||||||
|
decoration: const BoxDecoration(
|
||||||
|
color: Colors.red,
|
||||||
|
shape: BoxShape.circle,
|
||||||
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
),
|
],
|
||||||
],
|
),
|
||||||
),
|
);
|
||||||
);
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
return BottomNavigationBarItem(
|
return BottomNavigationBarItem(
|
||||||
|
|||||||
@@ -703,7 +703,7 @@ class _MinePageState extends State<MinePage> {
|
|||||||
mainAxisSize: MainAxisSize.max,
|
mainAxisSize: MainAxisSize.max,
|
||||||
children: [
|
children: [
|
||||||
Text(
|
Text(
|
||||||
'V1.0.2512.09',
|
'V1.0.2512.10',
|
||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
fontFamily: 'Inter',
|
fontFamily: 'Inter',
|
||||||
// color: Color(0xFFD9E3EB),
|
// color: Color(0xFFD9E3EB),
|
||||||
|
|||||||
Reference in New Issue
Block a user