login_dao.dart 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. import 'package:dio/dio.dart';
  2. import 'package:flutter_tracker/dio/api.dart';
  3. import 'package:flutter_tracker/model/user_model.dart';
  4. class LoginDao {
  5. static Map<String, dynamic> params = <String, dynamic>{};
  6. static Future<UserModel> login(String username, String password) async {
  7. params.addAll({"username": username, "password": password});
  8. Response response = await Dio().post(Api.loginUrl, queryParameters: params);
  9. return UserModel.fromJson(response.data);
  10. }
  11. static Future<bool> logout(String token) async {
  12. params.addAll({"token": token});
  13. try {
  14. Response response = await Dio().get(Api.logoutUrl);
  15. if (response.statusCode == 200) {
  16. if (response.data["success"] == "true") {
  17. return true;
  18. } else {
  19. return false;
  20. }
  21. }
  22. } catch (e) {
  23. return false;
  24. }
  25. }
  26. static Future<UserModel> register(String username, String password) async {
  27. params.addAll({"username": username, "password": password});
  28. try {
  29. Response response =
  30. await Dio().post(Api.registerUrl, queryParameters: params);
  31. return UserModel.fromJson(response.data);
  32. } catch (e) {}
  33. }
  34. static Future<UserModel> getUserInfo(String token) async {
  35. params.addAll({"token": token});
  36. Response response =
  37. await Dio().get(Api.getUserInfoUrl, queryParameters: params);
  38. return UserModel.fromJson(response.data);
  39. }
  40. }