fix: token过期自动跳转登录页

- dio_client.dart: 401错误时触发onUnauthorized回调
- main.dart: 连接回调到AuthProvider.forceLogout
- 完整链路: 401 -> 清除token -> 强制登出 -> 显示LoginPage
This commit is contained in:
2026-04-01 11:26:07 +08:00
parent ed98db66cf
commit 3f4d2d8b9a
5 changed files with 8407 additions and 8374 deletions

View File

@@ -94,7 +94,12 @@ class MyApp extends StatelessWidget {
Provider<BonusService>(create: (_) => BonusService(dioClient)),
// State Management
ChangeNotifierProvider<AuthProvider>(
create: (ctx) => AuthProvider(ctx.read<UserService>()),
create: (ctx) {
final authProvider = AuthProvider(ctx.read<UserService>());
// token 过期时DioClient 回调 AuthProvider 强制登出
dioClient.onUnauthorized = authProvider.forceLogout;
return authProvider;
},
),
ChangeNotifierProvider<MarketProvider>(
create: (ctx) => MarketProvider(ctx.read<MarketService>()),