_login.dart 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. import 'package:chicken_farm/core/api/api_service.dart';
  2. import 'package:chicken_farm/modes/auth/auth_model.dart';
  3. import 'package:chicken_farm/modes/auth/login_model.dart';
  4. import 'package:chicken_farm/modes/user/user_info_model.dart';
  5. class LoginApi {
  6. static final LoginApi _instance = LoginApi._internal();
  7. factory LoginApi() => _instance;
  8. LoginApi._internal();
  9. Future<AuthResultModel> login(LoginModel data) async {
  10. final result = await ApiService().post('/auth/login', data: data);
  11. if (result.success && result.data != null) {
  12. return AuthResultModel.fromJson(result.data);
  13. } else {
  14. throw result.message;
  15. }
  16. }
  17. Future<AuthResultModel> refreshToken(String refreshToken) async {
  18. final result = await ApiService().post(
  19. '/auth/refreshToken',
  20. data: {"refreshToken": refreshToken},
  21. );
  22. if (result.success && result.data != null) {
  23. return AuthResultModel.fromJson(result.data);
  24. } else {
  25. throw result.message;
  26. }
  27. }
  28. Future<UserInfoModel?> getInfo() async {
  29. final result = await ApiService().get('/system/user/getInfo');
  30. if (result.success && result.data != null) {
  31. return UserInfoModel.fromJson(result.data);
  32. } else {
  33. return null;
  34. }
  35. }
  36. Future<void> logout() async {
  37. ApiService().post('/auth/logout');
  38. }
  39. }