aim_pointer/lib/setting/person_details.dart

80 lines
2.3 KiB
Dart
Raw Permalink Normal View History

2024-08-17 18:09:43 +08:00
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<PersonDetails> createState() => _PersonDetailsState();
}
class _PersonDetailsState extends State<PersonDetails> {
String userName = '';
List<ListItem> 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: <Widget>[
SizedBox(
height: 40,
child: ListTileButton(
item: items[index],
)),
const Divider(), // 在每个列表项下方添加一条线
],
);
},
));
}
}