_login.dart 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839
  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 response = await ApiService().post('/auth/login', data: data);
  11. return AuthResultModel.fromJson(response);
  12. }
  13. Future<AuthResultModel> refreshToken(String refreshToken) async {
  14. final response = await ApiService().post(
  15. '/auth/refreshToken',
  16. data: {"refreshToken": refreshToken},
  17. );
  18. return AuthResultModel.fromJson(response);
  19. }
  20. Future<UserInfoModel?> getInfo() async {
  21. final response = await ApiService().get('/system/user/getInfo');
  22. if (response == null) return null;
  23. return UserInfoModel.fromJson(response);
  24. }
  25. Future<void> logout() async {
  26. return ApiService().post('/auth/logout');
  27. }
  28. Future<dynamic> getRouters() async {
  29. return await ApiService().get('/system/menu/getRouters');
  30. }
  31. }