loginapi.h 981 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. #ifndef LOGINAPI_H
  2. #define LOGINAPI_H
  3. #include <QFuture>
  4. #include <QJsonObject>
  5. #include <QString>
  6. #include "../network/networkaccessmanager.h"
  7. namespace AuthApi {
  8. // 登录接口参数
  9. struct LoginParams
  10. {
  11. QString username;
  12. QString password;
  13. };
  14. // 登录接口返回值
  15. struct LoginResult
  16. {
  17. QString accessToken;
  18. };
  19. // 刷新令牌返回结果
  20. struct RefreshTokenResult
  21. {
  22. QString data;
  23. int status;
  24. };
  25. /**
  26. * 登录
  27. * @param data 登录参数
  28. * @return 返回包含 LoginResult 的 Future
  29. */
  30. QFuture<HttpResponse> loginApi(const LoginParams& data);
  31. /**
  32. * 刷新accessToken
  33. * @return 返回包含 RefreshTokenResult 的 Future
  34. */
  35. QFuture<HttpResponse> refreshTokenApi();
  36. /**
  37. * 退出登录
  38. * @return 返回包含基本响应的 Future
  39. */
  40. QFuture<HttpResponse> logoutApi();
  41. /**
  42. * 获取用户权限码
  43. * @return 返回包含权限码数组的 Future
  44. */
  45. QFuture<HttpResponse> getAccessCodesApi();
  46. } // namespace AuthApi
  47. #endif // LOGINAPI_H