From eb7e7f3a9dc559756b0e4040617a84034b9113c6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=AD=90=E8=B4=A4?= Date: Fri, 21 Nov 2025 14:23:33 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/controller/mine/edit_info_controller.dart | 2 +- lib/controller/mine/mine_controller.dart | 3 +++ lib/main.dart | 4 +++- lib/pages/home/user_information_page.dart | 19 +++++++++++++------ lib/pages/mine/edit_info_page.dart | 9 +++++---- lib/pages/mine/mine_page.dart | 11 ++++++++--- lib/pages/setting/setting_page.dart | 1 - 7 files changed, 33 insertions(+), 16 deletions(-) diff --git a/lib/controller/mine/edit_info_controller.dart b/lib/controller/mine/edit_info_controller.dart index 76988d3..509f282 100644 --- a/lib/controller/mine/edit_info_controller.dart +++ b/lib/controller/mine/edit_info_controller.dart @@ -95,7 +95,7 @@ class EditInfoController extends GetxController { @override void onInit() { super.onInit(); - + userData.value = GlobalData().userData; final ImagePickerPlatform imagePickerImplementation = ImagePickerPlatform.instance; if (imagePickerImplementation is ImagePickerAndroid) { diff --git a/lib/controller/mine/mine_controller.dart b/lib/controller/mine/mine_controller.dart index 4188ac1..79b2920 100644 --- a/lib/controller/mine/mine_controller.dart +++ b/lib/controller/mine/mine_controller.dart @@ -32,10 +32,13 @@ class MineController extends GetxController { ].obs; final userData = GlobalData().userData.obs; + final userId = GlobalData().userId.obs; @override void onInit() { super.onInit(); + userData.value = GlobalData().userData; + userId.value = GlobalData().userId; } diff --git a/lib/main.dart b/lib/main.dart index 0576363..eabedc7 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -1,6 +1,7 @@ import 'dart:io'; import 'package:dating_touchme_app/config/env_config.dart'; +import 'package:dating_touchme_app/controller/global.dart'; import 'package:dating_touchme_app/im/im_manager.dart'; import 'package:dating_touchme_app/network/network_service.dart'; import 'package:dating_touchme_app/pages/main/main_page.dart'; @@ -85,9 +86,10 @@ class MyApp extends StatelessWidget { // 判断token是否为空 final storage = GetStorage(); final token = storage.read('token'); - + // 如果token不为空,显示主页;如果token为空,显示登录页面 if (token != null && token.isNotEmpty) { + GlobalData().userId = storage.read('userId'); return MainPage(); } else { return LoginPage(); diff --git a/lib/pages/home/user_information_page.dart b/lib/pages/home/user_information_page.dart index 1aba7cb..2ba75d9 100644 --- a/lib/pages/home/user_information_page.dart +++ b/lib/pages/home/user_information_page.dart @@ -1,3 +1,4 @@ +import 'package:cached_network_image/cached_network_image.dart'; import 'package:dating_touchme_app/controller/global.dart'; import 'package:dating_touchme_app/generated/assets.dart'; import 'package:dating_touchme_app/model/home/marriage_data.dart'; @@ -51,18 +52,24 @@ class _UserInformationPageState extends State { final userData = GlobalData().userData.obs; + @override + void initState() { + super.initState(); + userData.value = GlobalData().userData; + } + @override Widget build(BuildContext context) { return Scaffold( body: Stack( children: [ - widget.userData.photoList.isNotEmpty ? Image.network( - widget.userData.photoList[nowSelect].photoUrl, + widget.userData.photoList.isNotEmpty ? CachedNetworkImage( + imageUrl: "${widget.userData.photoList[nowSelect].photoUrl}?x-oss-process=image/format,webp", width: 375.w, height: 384.w, fit: BoxFit.cover, - ) : Image.network( - widget.userData.avatar, + ) : CachedNetworkImage( + imageUrl: "${widget.userData.avatar}?x-oss-process=image/format,webp", width: 375.w, height: 384.w, fit: BoxFit.cover, @@ -431,8 +438,8 @@ class _UserInformationPageState extends State { border: nowSelect == entry.key ? Border.all(width: 2.w, color: Colors.white) : null ), child: Center( - child: Image.network( - entry.value.photoUrl, + child: CachedNetworkImage( + imageUrl: "${entry.value.photoUrl}?x-oss-process=image/format,webp/resize,w_76", width: 38.w, height: 38.w, fit: BoxFit.cover, diff --git a/lib/pages/mine/edit_info_page.dart b/lib/pages/mine/edit_info_page.dart index 8d7abe5..0f75b29 100644 --- a/lib/pages/mine/edit_info_page.dart +++ b/lib/pages/mine/edit_info_page.dart @@ -1,5 +1,6 @@ import 'dart:io'; +import 'package:cached_network_image/cached_network_image.dart'; import 'package:dating_touchme_app/components/page_appbar.dart'; import 'package:dating_touchme_app/controller/mine/edit_info_controller.dart'; import 'package:dating_touchme_app/extension/ex_widget.dart'; @@ -180,8 +181,8 @@ class _EditInfoPageState extends State { File(controller.avatarLocalPath.value), width: 85.w, height: 85.w, - ) : (controller.userData.value?.profilePhoto?.isNotEmpty ?? false) ? Image.network( - "${controller.userData.value?.profilePhoto ?? ""}", + ) : (controller.userData.value?.profilePhoto?.isNotEmpty ?? false) ? CachedNetworkImage( + imageUrl: "${controller.userData.value?.profilePhoto ?? ""}?x-oss-process=image/format,webp/resize,w_170", width: 85.w, height: 85.w, fit: BoxFit.cover, @@ -238,8 +239,8 @@ class _EditInfoPageState extends State { children: [ ClipRRect( borderRadius: BorderRadius.all(Radius.circular(9.w)), - child: Image.network( - entry.value, + child: CachedNetworkImage( + imageUrl: "${entry.value}?x-oss-process=image/format,webp/resize,w_140", width: 70.w, height: 70.w, fit: BoxFit.cover, diff --git a/lib/pages/mine/mine_page.dart b/lib/pages/mine/mine_page.dart index 4c59793..8cf1d17 100644 --- a/lib/pages/mine/mine_page.dart +++ b/lib/pages/mine/mine_page.dart @@ -1,4 +1,5 @@ import 'package:cached_network_image/cached_network_image.dart'; +import 'package:dating_touchme_app/controller/global.dart'; import 'package:dating_touchme_app/controller/mine/mine_controller.dart'; import 'package:dating_touchme_app/extension/ex_widget.dart'; import 'package:dating_touchme_app/pages/mine/edit_info_page.dart'; @@ -30,6 +31,7 @@ class _MinePageState extends State with AutomaticKeepAliveClientMixin{ Get.put(MineController()); } + } @@ -37,7 +39,10 @@ class _MinePageState extends State with AutomaticKeepAliveClientMixin{ Widget build(BuildContext context) { super.build(context); return GetBuilder( + init: MineController(), builder: (controller) { + controller.userData.value = GlobalData().userData; + controller.userId.value = GlobalData().userId; return Container( padding: EdgeInsets.symmetric(horizontal: 9.w), constraints: BoxConstraints(minHeight: ScreenUtil().setHeight(800)), @@ -70,8 +75,8 @@ class _MinePageState extends State with AutomaticKeepAliveClientMixin{ children: [ ClipRRect( borderRadius: BorderRadius.all(Radius.circular(60.w)), - child: (controller.userData.value?.profilePhoto?.isNotEmpty ?? false) ? Image.network( - "${controller.userData.value?.profilePhoto ?? ""}", + child: (controller.userData.value?.profilePhoto?.isNotEmpty ?? false) ? CachedNetworkImage( + imageUrl: "${controller.userData.value?.profilePhoto ?? ""}?x-oss-process=image/format,webp/resize,w_120", width: 60.w, height: 60.w, fit: BoxFit.cover, @@ -105,7 +110,7 @@ class _MinePageState extends State with AutomaticKeepAliveClientMixin{ ), SizedBox(height: 11.w,), Text( - "ID:${controller.userData.value?.id ?? ""}", + "ID:${controller.userId.value ?? ""}", style: TextStyle( fontSize: 12.w, color: const Color.fromRGBO(51, 51, 51, 1), diff --git a/lib/pages/setting/setting_page.dart b/lib/pages/setting/setting_page.dart index 652292a..5d46cb2 100644 --- a/lib/pages/setting/setting_page.dart +++ b/lib/pages/setting/setting_page.dart @@ -131,7 +131,6 @@ class SettingPage extends StatelessWidget { theme: TDButtonTheme.danger, onTap: () { controller.logout(); - Navigator.of(context).pop(); Get.offAll(() => LoginPage()); }, ),