Files
tm_app/lib/data/services/auth_service.dart
T
amirrezaghabeli 81d01d53ae login added
2025-08-16 16:11:57 +03:30

50 lines
1.4 KiB
Dart

// ignore_for_file: prefer_single_quotes
import 'dart:convert';
import 'package:dio/dio.dart';
import 'package:shared_preferences/shared_preferences.dart';
import 'package:tm_app/data/services/model/login_response/login_response_model.dart';
import '../../core/network/network_manager.dart';
import '../../core/utils/result.dart';
class AuthService {
AuthService({required NetworkManager networkManager})
: _networkManager = networkManager;
final NetworkManager _networkManager;
Future<Result<LoginResponseModel>> login({
required String username,
required String password,
}) async {
var headers = {
'accept': 'application/json',
'Content-Type': 'application/json',
};
var data = jsonEncode({"password": "Nima.1998", "username": "nakhostin"});
var dio = Dio(
BaseOptions(baseUrl: 'http://10.0.2.2:8081', headers: headers),
);
var response = await dio.request(
'/admin/v1/profile/login',
options: Options(method: 'POST'),
data: data,
);
if (response.statusCode == 200) {
final prefs = await SharedPreferences.getInstance();
final token = response.data['data']?['access_token'];
prefs.setString('token', token);
if (token != null) {
await prefs.setString('bearer', token);
}
print(json.encode(response.data));
} else {
print(response.statusMessage);
}
return Result.ok(LoginResponseModel.fromJson(response.data));
}
}