Commit 81dfa010 authored by 张宏's avatar 张宏

登录调整

parent 4ffa57f5
...@@ -62,6 +62,7 @@ class _MyAppState extends State<MyApp> { ...@@ -62,6 +62,7 @@ class _MyAppState extends State<MyApp> {
late final AppRouter _appRouter; late final AppRouter _appRouter;
late final AuthBloc _authBloc; late final AuthBloc _authBloc;
StreamSubscription? _tokenExpiredSubscription; StreamSubscription? _tokenExpiredSubscription;
bool _isInitializing = true;
@override @override
void initState() { void initState() {
...@@ -102,9 +103,45 @@ class _MyAppState extends State<MyApp> { ...@@ -102,9 +103,45 @@ class _MyAppState extends State<MyApp> {
// Token 有效,尝试恢复用户信息 // Token 有效,尝试恢复用户信息
_authBloc.add(const AuthFetchUserInfo()); _authBloc.add(const AuthFetchUserInfo());
} }
_endInitializing();
} else {
// 无 Token,执行静默登录
await _performSilentLogin();
} }
} }
/// 静默登录:使用预设账号自动登录
Future<void> _performSilentLogin() async {
try {
await _authService.login('13800000001', '111111');
// 登录成功,获取用户信息
_authBloc.add(const AuthFetchUserInfo());
} catch (e) {
// 静默登录失败,不做任何处理,初始化结束
} finally {
_endInitializing();
}
}
void _endInitializing() {
if (mounted) {
setState(() {
_isInitializing = false;
});
}
}
Widget _buildSplash() {
return Positioned.fill(
child: ColoredBox(
color: const Color(0xFFF5F7FA),
child: Center(
child: CircularProgressIndicator(),
),
),
);
}
@override @override
void dispose() { void dispose() {
_tokenExpiredSubscription?.cancel(); _tokenExpiredSubscription?.cancel();
...@@ -143,10 +180,15 @@ class _MyAppState extends State<MyApp> { ...@@ -143,10 +180,15 @@ class _MyAppState extends State<MyApp> {
// BlocListener<UserBloc, UserState>(listener: ...), // BlocListener<UserBloc, UserState>(listener: ...),
// BlocListener<SettingsBloc, SettingsState>(listener: ...), // BlocListener<SettingsBloc, SettingsState>(listener: ...),
], ],
child: MaterialApp.router( child: Stack(
scaffoldMessengerKey: _scaffoldMessengerKey, children: [
routerConfig: _appRouter.config(), MaterialApp.router(
debugShowCheckedModeBanner: false, scaffoldMessengerKey: _scaffoldMessengerKey,
routerConfig: _appRouter.config(),
debugShowCheckedModeBanner: false,
),
if (_isInitializing) _buildSplash(),
],
), ),
), ),
); );
......
...@@ -16,10 +16,11 @@ class AppRouter extends $AppRouter { ...@@ -16,10 +16,11 @@ class AppRouter extends $AppRouter {
@override @override
List<AutoRoute> get routes => [ List<AutoRoute> get routes => [
// LoginRoute / LoginView(登录页) // LoginRoute / LoginView(登录页)
AutoRoute(page: LoginRoute.page, initial: true), AutoRoute(page: LoginRoute.page),
// DefaultLayoutRoute / DefaultLayoutView(默认布局页/主框架) // DefaultLayoutRoute / DefaultLayoutView(默认布局页/主框架)
AutoRoute( AutoRoute(
page: DefaultLayoutRoute.page, page: DefaultLayoutRoute.page,
initial: true,
children: [ children: [
// MonitoringIndexRoute / MonitoringIndexView(监控页) // MonitoringIndexRoute / MonitoringIndexView(监控页)
AutoRoute(page: MonitoringIndexRoute.page, initial: true), AutoRoute(page: MonitoringIndexRoute.page, initial: true),
......
...@@ -188,13 +188,9 @@ class _MonitoringIndexContentState extends State<MonitoringIndexContent> { ...@@ -188,13 +188,9 @@ class _MonitoringIndexContentState extends State<MonitoringIndexContent> {
.map( .map(
(metric) => Expanded( (metric) => Expanded(
child: Container( child: Container(
padding: EdgeInsets.zero,
decoration: BoxDecoration( decoration: BoxDecoration(
// border: BoxBorder.all(width: 1.w,color: Colors.red) border: BoxBorder.all(width: 1.w,color: Colors.red)
), ),
// padding: EdgeInsets.only(
// right: metric == displayMetrics.last ? 0 : gap,
// ),
child: MonitoringMetricCard(metric: metric), child: MonitoringMetricCard(metric: metric),
), ),
), ),
......
...@@ -29,7 +29,7 @@ class MonitoringMetricCard extends StatelessWidget { ...@@ -29,7 +29,7 @@ class MonitoringMetricCard extends StatelessWidget {
image: DecorationImage( image: DecorationImage(
image: AssetImage('lib/assets/monitoring/box_bg_325x372.png'), image: AssetImage('lib/assets/monitoring/box_bg_325x372.png'),
fit: BoxFit.cover, fit: BoxFit.cover,
), ),
), ),
// padding: EdgeInsets.symmetric(horizontal: 18.w, vertical: 18.h), // padding: EdgeInsets.symmetric(horizontal: 18.w, vertical: 18.h),
child: Column( child: Column(
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment