You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
|
import 'package:get/get.dart';
|
|
|
|
import 'package:problem_check_system/app/routes/app_routes.dart';
|
|
|
|
import 'package:problem_check_system/data/repositories/auth_repository.dart';
|
|
|
|
|
|
|
|
class MyController extends GetxController {
|
|
|
|
final AuthRepository authRepository;
|
|
|
|
|
|
|
|
MyController({required this.authRepository});
|
|
|
|
|
|
|
|
// 响应式变量,用于存储用户信息
|
|
|
|
var userName = '张兰雪'.obs;
|
|
|
|
var userPhone = '138****8547'.obs;
|
|
|
|
var userImage = "".obs;
|
|
|
|
|
|
|
|
@override
|
|
|
|
void onInit() {
|
|
|
|
super.onInit();
|
|
|
|
_loadUserInfo();
|
|
|
|
}
|
|
|
|
|
|
|
|
// 从本地存储或API加载用户信息
|
|
|
|
Future<void> _loadUserInfo() async {
|
|
|
|
var userProfile = await authRepository.getUserProfile();
|
|
|
|
userName.value = userProfile.name ?? "无";
|
|
|
|
userPhone.value = userProfile.email ?? '138****8547';
|
|
|
|
userImage.value = userProfile.signatureImage.toString();
|
|
|
|
}
|
|
|
|
|
|
|
|
void logout() {
|
|
|
|
authRepository.clearAuthData();
|
|
|
|
Get.offAllNamed(AppRoutes.login);
|
|
|
|
}
|
|
|
|
|
|
|
|
// 未来可以添加更新用户信息的逻辑
|
|
|
|
}
|