import 'package:flutter/material.dart'; import 'package:flutter/scheduler.dart'; import '../login_in/service/service.dart'; import '../login_in/user/loginprefs.dart'; import '../login_in/user/userModel.dart'; import '../screens/setting_page.dart'; class PersonDetails extends StatefulWidget { const PersonDetails({super.key}); @override State createState() => _PersonDetailsState(); } class _PersonDetailsState extends State { String userName = ''; List items = []; late UserModel user; LoginPrefs loginPrefs = LoginPrefs(); @override void initState() { SchedulerBinding.instance.addPostFrameCallback((_) async { UserModel? getUser = UserController().getUser(); if (getUser == null) { var person = await GetServices().getPerson(); UserController().setUser(person); user = UserModel.fromJson(person); } else {} setState(() { user = UserController().getUser()!; }); emptyFunc() => {}; items = [ // '用户名' ListItem(user.username, Icons.home, emptyFunc), // "姓名" ListItem(user.name, Icons.person, emptyFunc), // "昵称" ListItem(user.nickName, Icons.person_add_rounded, emptyFunc), // "手机号" ListItem(user.phone, Icons.phone_android, emptyFunc), // "邮箱" ListItem(user.email, Icons.email, emptyFunc), // "备注" ListItem(user.remark, Icons.info_outline, emptyFunc), ListItem('退出登录', Icons.logout, () { loginPrefs.clearLogin(); Navigator.pushNamed(context, 'login'); }), ]; }); super.initState(); } @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar(title: const Text("个人中心")), body: ListView.builder( itemCount: items.length, itemBuilder: (BuildContext context, int index) { return Column( children: [ SizedBox( height: 40, child: ListTileButton( item: items[index], )), const Divider(), // 在每个列表项下方添加一条线 ], ); }, )); } }