| 123456789101112131415161718192021222324252627282930313233 |
- import 'package:flutter/foundation.dart';
- import 'package:dio/dio.dart';
- import 'package:shared_preferences/shared_preferences.dart';
-
- class AuthService extends ChangeNotifier {
- String _token = '';
- bool get isLoggedIn => _token.isNotEmpty;
-
- final Dio _dio = Dio(BaseOptions(baseUrl: 'http://10.0.2.2:8080/api/base'));
-
- Future<bool> login(String username, String password) async {
- try {
- final res = await _dio.post('/auth/login', data: {'username': username, 'password': password});
- if (res.data['code'] == 200) {
- _token = res.data['data'];
- final prefs = await SharedPreferences.getInstance();
- await prefs.setString('token', _token);
- notifyListeners();
- return true;
- }
- } catch (e) {
- debugPrint('Login failed: $e');
- }
- return false;
- }
-
- Future<void> logout() async {
- _token = '';
- final prefs = await SharedPreferences.getInstance();
- await prefs.remove('token');
- notifyListeners();
- }
- }
|