login_dao.dart 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  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. try {
  9. Response response = await Dio().post(
  10. Api.loginUrl, queryParameters: params);
  11. return UserModel.fromJson(response.data);
  12. }catch(e){
  13. return null;
  14. }
  15. }
  16. static Future<bool> logout(String token) async {
  17. params.addAll({"token": token});
  18. try {
  19. Response response = await Dio().get(Api.logoutUrl);
  20. if (response.statusCode == 200) {
  21. if (response.data["success"] == "true") {
  22. return true;
  23. } else {
  24. return false;
  25. }
  26. }
  27. } catch (e) {
  28. return false;
  29. }
  30. }
  31. static Future<UserModel> register(String username, String password) async {
  32. params.addAll({"username": username, "password": password});
  33. try {
  34. Response response =
  35. await Dio().post(Api.registerUrl, queryParameters: params);
  36. return UserModel.fromJson(response.data);
  37. } catch (e) {}
  38. }
  39. static Future<UserModel> getUserInfo(String token) async {
  40. params.addAll({"token": token});
  41. Response response =
  42. await Dio().get(Api.getUserInfoUrl, queryParameters: params);
  43. return UserModel.fromJson(response.data);
  44. }
  45. }