This commit is contained in:
wyf
2025-11-14 12:01:07 +08:00
parent 776275aa3d
commit 7e44998240
24 changed files with 409 additions and 187 deletions

View File

@@ -112,7 +112,8 @@ class _MessageWidgetWidgetState extends State<MessageWidgetWidget> {
themeController.currentColor.sc1,
themeController.currentColor.sc2
]
: [themeController.currentColor.sc4], // 单色背景
// : [themeController.currentColor.sc4], // 单色背景
: [Colors.grey.withOpacity(0.2)], // 单色背景
enableAnimation: true, // 有点击缩放动画
enableGradient: false, // 不用渐变
onTap: () {
@@ -148,7 +149,9 @@ class _MessageWidgetWidgetState extends State<MessageWidgetWidget> {
fontFamily: 'Inter',
fontSize: 26.rpx,
letterSpacing: 0.0,
color: Colors.white,
color: messageInfo['status'] == 1
? Colors.white
: Colors.grey,
),
),
),

View File

@@ -18,7 +18,6 @@ import 'package:vbvs_app/component/tool/TopSlideNotification.dart';
import 'package:vbvs_app/controller/device/blueteeth_bind_controller.dart';
import 'package:vbvs_app/controller/device/body_device_controller.dart';
import 'package:vbvs_app/controller/home/home_controller.dart';
import 'package:vbvs_app/controller/main_bottom/global_controller.dart';
import 'package:vbvs_app/controller/person/person_controller.dart';
import 'package:vbvs_app/controller/theme_controller/ThemeController.dart';
import 'package:vbvs_app/controller/user_info_controller.dart';
@@ -222,7 +221,7 @@ class _HomePageState extends State<HomePage> {
@override
Widget build(BuildContext context) {
weatherModelController.getCurrentWeather();
// weatherModelController.getCurrentWeather();
return LayoutBuilder(
builder: (context, bodySize) => GestureDetector(
onTap: () {
@@ -320,77 +319,86 @@ class _HomePageState extends State<HomePage> {
mainAxisAlignment:
MainAxisAlignment.end,
children: [
Text(
userInfoController.model.user!
.nick_name ??
'未命名'.tr,
style: TextStyle(
color: themeController
.currentColor.sc3,
fontSize: AppConstants()
.normal_text_fontSize,
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,
),
),
Obx(() {
return Row(
children: [
Text(
"${weatherModelController.model.cityName ?? '未知数据'.tr}",
style: TextStyle(
color: themeController
.currentColor.sc4,
fontSize: AppConstants()
.normal_text_fontSize,
),
),
Text(
"${(weatherModelController.model.current_temperature != null && weatherModelController.model.current_temperature! > 0) ? weatherModelController.model.current_temperature : '未知数据'.tr}" +
"°C",
style: TextStyle(
color: themeController
.currentColor.sc4,
fontSize: AppConstants()
.normal_text_fontSize,
),
),
Text(
"${(weatherModelController.model.weather_info?.isNotEmpty ?? false) ? weatherModelController.model.weather_info : '未知数据'.tr}",
style: TextStyle(
color: themeController
.currentColor.sc4,
fontSize: AppConstants()
.normal_text_fontSize,
),
),
if (weatherModelController
.model
.weatherIconurl !=
null &&
weatherModelController
.model
.weatherIconurl!
.isNotEmpty)
Container(
width: 35.rpx,
height: 26.rpx,
clipBehavior:
Clip.antiAlias,
decoration:
BoxDecoration(
shape: BoxShape
.circle),
child: SvgPicture.asset(
"assets/images/weather/${weatherModelController.model.weatherIconurl}-fill.svg",
// fit: BoxFit.cover,
color: themeController
.currentColor.sc4,
),
),
].divide(SizedBox(
width: 20.rpx,
)),
);
}),
// Obx(() {
// return Row(
// children: [
// Text(
// "${weatherModelController.model.cityName ?? '未知数据'.tr}",
// style: TextStyle(
// color: themeController
// .currentColor.sc4,
// fontSize: AppConstants()
// .normal_text_fontSize,
// ),
// ),
// Text(
// "${(weatherModelController.model.current_temperature != null && weatherModelController.model.current_temperature! > 0) ? weatherModelController.model.current_temperature : '未知数据'.tr}" +
// "°C",
// style: TextStyle(
// color: themeController
// .currentColor.sc4,
// fontSize: AppConstants()
// .normal_text_fontSize,
// ),
// ),
// Text(
// "${(weatherModelController.model.weather_info?.isNotEmpty ?? false) ? weatherModelController.model.weather_info : '未知数据'.tr}",
// style: TextStyle(
// color: themeController
// .currentColor.sc4,
// fontSize: AppConstants()
// .normal_text_fontSize,
// ),
// ),
// if (weatherModelController
// .model
// .weatherIconurl !=
// null &&
// weatherModelController
// .model
// .weatherIconurl!
// .isNotEmpty)
// Container(
// width: 35.rpx,
// height: 26.rpx,
// clipBehavior:
// Clip.antiAlias,
// decoration:
// BoxDecoration(
// shape: BoxShape
// .circle),
// child: SvgPicture.asset(
// "assets/images/weather/${weatherModelController.model.weatherIconurl}-fill.svg",
// // fit: BoxFit.cover,
// color: themeController
// .currentColor.sc4,
// ),
// ),
// ].divide(SizedBox(
// width: 20.rpx,
// )),
// );
// }),
],
),
);
@@ -1066,6 +1074,7 @@ class _HomePageState extends State<HomePage> {
})
: [],
),
SizedBox(
height:
26.rpx), // 每个 widget 下方间距(包括最后一个)

View File

@@ -1,9 +1,13 @@
import 'dart:async';
import 'package:ef/ef.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:vbvs_app/common/color/appConstants.dart';
import 'package:vbvs_app/common/color/app_uri_status.dart';
import 'package:vbvs_app/common/util/EventBus.dart';
import 'package:vbvs_app/common/util/FitTool.dart';
import 'package:vbvs_app/common/util/eventType.dart';
import 'package:vbvs_app/component/NullDataComponentWidget.dart';
import 'package:vbvs_app/component/tool/ClickableContainer.dart';
import 'package:vbvs_app/component/tool/TopSlideNotification.dart';
@@ -29,6 +33,13 @@ class _MessagePageState extends State<MessagePage> {
_pageController =
PageController(initialPage: messageController.model.type == 1 ? 0 : 1);
messageController.getMessageStatus();
late StreamSubscription<SwitchLanguageEvent> subscription;
// 监听切换语言
subscription = EventBus().on<SwitchLanguageEvent>().listen((event) {
ef.log("切换语言事件通知");
_fetchMessageData();
});
_fetchMessageData();
}