login_dao.dart 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. import 'package:dio/dio.dart';
  2. import 'package:flutter_tracker/dio/api.dart';
  3. import 'package:flutter_tracker/model/login_entity.dart';
  4. import 'package:flutter_tracker/model/message_model.dart';
  5. import 'package:flutter_tracker/model/user_model.dart';
  6. /// Description:
  7. /// Time : 2021年12月03日 Friday
  8. /// Author : liuyuqi.gov@msncn
  9. class LoginDao {
  10. static Map<String, dynamic> params = <String, dynamic>{};
  11. static Future<LoginEntity> login(String username, String password) async {
  12. params.addAll({"username": username, "password": password});
  13. try {
  14. Response response = await Dio().post(Api.loginUrl, data: params);
  15. return LoginEntity.fromJson(response.data);
  16. } catch (e) {
  17. return null;
  18. }
  19. }
  20. static Future<MessageModel> logout(String token) async {
  21. params.addAll({"token": token});
  22. try {
  23. Response response = await Dio().post(Api.logoutUrl, data: params);
  24. return MessageModel.fromJson(response.data);
  25. } catch (e) {
  26. return null;
  27. }
  28. }
  29. static Future<MessageModel> register(String username, String password) async {
  30. params.addAll({"username": username, "password": password});
  31. try {
  32. Response response = await Dio().post(Api.registerUrl, data: params);
  33. if (response.data["success"] == true) {}
  34. return MessageModel.fromJson(response.data);
  35. } catch (e) {
  36. return null;
  37. }
  38. }
  39. static Future<UserEntity> getUserInfo(String token) async {
  40. params.addAll({"token": token});
  41. Response response = await Dio().post(Api.getUserInfoUrl, data: params);
  42. return UserEntity.fromJson(response.data);
  43. }
  44. //通过设备id查找用户
  45. static Future<UserModel> getUserByDeviceId(String deviceid) async {
  46. params.addAll({"deviceid": deviceid});
  47. Response response = await Dio().post(Api.getUserByDeviceId, data: params);
  48. return UserModel.fromJson(response.data);
  49. }
  50. }