From b8e5c3d21084411a0b308e97c3b239b23220bdf7 Mon Sep 17 00:00:00 2001 From: guozhigq Date: Fri, 18 Oct 2024 00:19:37 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20up=E4=B8=BB=E9=A1=B5null?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/pages/member/controller.dart | 7 ++++++- lib/pages/member/view.dart | 13 ++++++++++--- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/lib/pages/member/controller.dart b/lib/pages/member/controller.dart index 8454cebe..6987337b 100644 --- a/lib/pages/member/controller.dart +++ b/lib/pages/member/controller.dart @@ -32,7 +32,7 @@ class MemberController extends GetxController { @override void onInit() { super.onInit(); - mid = int.parse(Get.parameters['mid']!); + mid = int.tryParse(Get.parameters['mid']!) ?? -2; userInfo = userInfoCache.get('userInfoCache'); ownerMid = userInfo != null ? userInfo.mid : -1; isOwner.value = mid == ownerMid; @@ -43,6 +43,11 @@ class MemberController extends GetxController { // 获取用户信息 Future> getInfo() async { + if (mid == -2) { + SmartDialog.showToast('用户ID获取异常'); + return {'status': false, 'msg': '用户ID获取异常'}; + } + await getMemberStat(); await getMemberView(); var res = await MemberHttp.memberInfo(mid: mid); diff --git a/lib/pages/member/view.dart b/lib/pages/member/view.dart index df501253..4ebc6153 100644 --- a/lib/pages/member/view.dart +++ b/lib/pages/member/view.dart @@ -1,5 +1,6 @@ import 'dart:async'; import 'package:flutter/material.dart'; +import 'package:flutter_smart_dialog/flutter_smart_dialog.dart'; import 'package:font_awesome_flutter/font_awesome_flutter.dart'; import 'package:get/get.dart'; import 'package:pilipala/common/constants.dart'; @@ -36,7 +37,7 @@ class _MemberPageState extends State @override void initState() { super.initState(); - mid = int.parse(Get.parameters['mid']!); + mid = int.tryParse(Get.parameters['mid']!) ?? -1; heroTag = Get.arguments['heroTag'] ?? Utils.makeHeroTag(mid); _memberController = Get.put(MemberController(), tag: heroTag); _futureBuilderFuture = _memberController.getInfo(); @@ -100,8 +101,14 @@ class _MemberPageState extends State ), actions: [ IconButton( - onPressed: () => Get.toNamed( - '/memberSearch?mid=$mid&uname=${_memberController.memberInfo.value.name!}'), + onPressed: () { + if (mid == -1) { + SmartDialog.showToast('用户ID获取异常'); + return; + } + Get.toNamed( + '/memberSearch?mid=$mid&uname=${_memberController.memberInfo.value.name ?? ''}'); + }, icon: const Icon(Icons.search_outlined), ), PopupMenuButton(