fix: up主页null

This commit is contained in:
guozhigq
2024-10-18 00:19:37 +08:00
parent 6d4359be0e
commit b8e5c3d210
2 changed files with 16 additions and 4 deletions

View File

@ -32,7 +32,7 @@ class MemberController extends GetxController {
@override @override
void onInit() { void onInit() {
super.onInit(); super.onInit();
mid = int.parse(Get.parameters['mid']!); mid = int.tryParse(Get.parameters['mid']!) ?? -2;
userInfo = userInfoCache.get('userInfoCache'); userInfo = userInfoCache.get('userInfoCache');
ownerMid = userInfo != null ? userInfo.mid : -1; ownerMid = userInfo != null ? userInfo.mid : -1;
isOwner.value = mid == ownerMid; isOwner.value = mid == ownerMid;
@ -43,6 +43,11 @@ class MemberController extends GetxController {
// 获取用户信息 // 获取用户信息
Future<Map<String, dynamic>> getInfo() async { Future<Map<String, dynamic>> getInfo() async {
if (mid == -2) {
SmartDialog.showToast('用户ID获取异常');
return {'status': false, 'msg': '用户ID获取异常'};
}
await getMemberStat(); await getMemberStat();
await getMemberView(); await getMemberView();
var res = await MemberHttp.memberInfo(mid: mid); var res = await MemberHttp.memberInfo(mid: mid);

View File

@ -1,5 +1,6 @@
import 'dart:async'; import 'dart:async';
import 'package:flutter/material.dart'; 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:font_awesome_flutter/font_awesome_flutter.dart';
import 'package:get/get.dart'; import 'package:get/get.dart';
import 'package:pilipala/common/constants.dart'; import 'package:pilipala/common/constants.dart';
@ -36,7 +37,7 @@ class _MemberPageState extends State<MemberPage>
@override @override
void initState() { void initState() {
super.initState(); super.initState();
mid = int.parse(Get.parameters['mid']!); mid = int.tryParse(Get.parameters['mid']!) ?? -1;
heroTag = Get.arguments['heroTag'] ?? Utils.makeHeroTag(mid); heroTag = Get.arguments['heroTag'] ?? Utils.makeHeroTag(mid);
_memberController = Get.put(MemberController(), tag: heroTag); _memberController = Get.put(MemberController(), tag: heroTag);
_futureBuilderFuture = _memberController.getInfo(); _futureBuilderFuture = _memberController.getInfo();
@ -100,8 +101,14 @@ class _MemberPageState extends State<MemberPage>
), ),
actions: [ actions: [
IconButton( IconButton(
onPressed: () => Get.toNamed( onPressed: () {
'/memberSearch?mid=$mid&uname=${_memberController.memberInfo.value.name!}'), if (mid == -1) {
SmartDialog.showToast('用户ID获取异常');
return;
}
Get.toNamed(
'/memberSearch?mid=$mid&uname=${_memberController.memberInfo.value.name ?? ''}');
},
icon: const Icon(Icons.search_outlined), icon: const Icon(Icons.search_outlined),
), ),
PopupMenuButton( PopupMenuButton(