This commit is contained in:
sion
2026-04-21 08:09:45 +08:00
parent 0066615054
commit 5264043c21
1831 changed files with 15376 additions and 39973 deletions

View File

@@ -5,6 +5,8 @@ import '../core/network/dio_client.dart';
import '../core/storage/local_storage.dart';
import '../data/models/user.dart';
import '../data/services/user_service.dart';
import '../main.dart';
import '../ui/pages/auth/login_page.dart';
/// 認證狀態管理
class AuthProvider extends ChangeNotifier {
@@ -112,16 +114,13 @@ class AuthProvider extends ChangeNotifier {
/// 退出登錄
Future<void> logout() async {
_setLoading(true);
try {
await _userService.logout();
} catch (_) {
// 忽略退出登錄的接口錯誤
}
} catch (_) {}
_clearAuthState();
_setLoading(false);
notifyListeners();
_navigateToLogin();
}
void _clearAuthState() {
@@ -135,6 +134,18 @@ class AuthProvider extends ChangeNotifier {
void forceLogout() {
_clearAuthState();
notifyListeners();
_navigateToLogin();
}
/// 使用全局導航 Key 跳轉到登錄頁並清空路由棧
void _navigateToLogin() {
final nav = navigatorKey.currentState;
if (nav != null) {
nav.pushAndRemoveUntil(
MaterialPageRoute(builder: (_) => LoginPage()),
(route) => false,
);
}
}
/// 刷新用戶信息