login_dao.dart 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  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. /// login
  12. static Future<LoginEntity?> login(String username, String password) async {
  13. params.addAll({"username": username, "password": password});
  14. try {
  15. Response response = await Dio().post(Api.loginUrl, data: params);
  16. return LoginEntity.fromJson(response.data);
  17. } catch (e) {
  18. return null;
  19. }
  20. }
  21. /// logout
  22. static Future<MessageModel> logout(String token) async {
  23. params.addAll({"token": token});
  24. try {
  25. Response response = await Dio().post(Api.logoutUrl, data: params);
  26. return MessageModel.fromJson(response.data);
  27. } catch (e) {
  28. return MessageModel.fromJson({"success": false, "msg": "网络错误"});
  29. }
  30. }
  31. static Future<MessageModel> register(String username, String password) async {
  32. params.addAll({"username": username, "password": password});
  33. try {
  34. Response response = await Dio().post(Api.registerUrl, data: params);
  35. if (response.data["success"] == true) {}
  36. return MessageModel.fromJson(response.data);
  37. } catch (e) {
  38. return MessageModel.fromJson({"success": false, "msg": "网络错误"});
  39. }
  40. }
  41. static Future<UserModel> getUserInfo(String token) async {
  42. params.addAll({"token": token});
  43. Response response = await Dio().post(Api.getUserInfoUrl, data: params);
  44. return UserModel.fromJson(response.data);
  45. }
  46. //通过设备id查找用户
  47. static Future<UserModel> getUserByDeviceId(String deviceid) async {
  48. params.addAll({"deviceid": deviceid});
  49. Response response = await Dio().post(Api.getUserByDeviceId, data: params);
  50. return UserModel.fromJson(response.data);
  51. }
  52. }