智慧水务管理系统 - 精河县供水工程综合管理平台

auth_service.dart 990B

123456789101112131415161718192021222324252627282930313233
  1. import 'package:flutter/foundation.dart';
  2. import 'package:dio/dio.dart';
  3. import 'package:shared_preferences/shared_preferences.dart';
  4. class AuthService extends ChangeNotifier {
  5. String _token = '';
  6. bool get isLoggedIn => _token.isNotEmpty;
  7. final Dio _dio = Dio(BaseOptions(baseUrl: 'http://10.0.2.2:8080/api/base'));
  8. Future<bool> login(String username, String password) async {
  9. try {
  10. final res = await _dio.post('/auth/login', data: {'username': username, 'password': password});
  11. if (res.data['code'] == 200) {
  12. _token = res.data['data'];
  13. final prefs = await SharedPreferences.getInstance();
  14. await prefs.setString('token', _token);
  15. notifyListeners();
  16. return true;
  17. }
  18. } catch (e) {
  19. debugPrint('Login failed: $e');
  20. }
  21. return false;
  22. }
  23. Future<void> logout() async {
  24. _token = '';
  25. final prefs = await SharedPreferences.getInstance();
  26. await prefs.remove('token');
  27. notifyListeners();
  28. }
  29. }