mine_page.dart 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. import 'package:flutter/material.dart';
  2. import 'package:flutter_riverpod/flutter_riverpod.dart';
  3. import 'package:go_router/go_router.dart';
  4. import 'package:sino_med_cloud/l10n/app_localizations.dart';
  5. import '../../main_tab_provider.dart';
  6. import '../domain/mine_service.dart';
  7. class MinePage extends ConsumerStatefulWidget {
  8. const MinePage({super.key});
  9. @override
  10. ConsumerState<MinePage> createState() => _MinePageState();
  11. }
  12. class _MinePageState extends ConsumerState<MinePage>
  13. with SingleTickerProviderStateMixin {
  14. @override
  15. Widget build(BuildContext context) {
  16. final l10n = AppLocalizations.of(context)!;
  17. return Center(
  18. child: // 退出登录按钮
  19. ElevatedButton(
  20. onPressed: _handleLogout,
  21. style: ElevatedButton.styleFrom(
  22. padding: EdgeInsets.symmetric(vertical: 16),
  23. ),
  24. child: Text(l10n.logout),
  25. ),
  26. );
  27. }
  28. // 退出登录
  29. void _handleLogout() async {
  30. await MineService.logout(loginSystem: "YUN_HIS_PC_WEB");
  31. ref.read(currentTabIndexProvider.notifier).state = 0;
  32. Future.microtask(() {
  33. if (mounted) {
  34. context.replace('/');
  35. }
  36. });
  37. }
  38. }