user.ts 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. import { defHttp } from '/@/utils/http/axios';
  2. import { LoginParams, LoginResultModel, GetUserInfoModel } from './model/userModel';
  3. import { ErrorMessageMode } from '/#/axios';
  4. enum Api {
  5. Login = '/login',
  6. Logout = '/logout',
  7. GetUserInfo = '/getUserInfo',
  8. GetPermCode = '/getPermCode',
  9. TestRetry = '/testRetry',
  10. }
  11. /**
  12. * @description: user login api
  13. */
  14. export function loginApi(params: LoginParams, mode: ErrorMessageMode = 'modal') {
  15. return defHttp.post<LoginResultModel>(
  16. {
  17. url: Api.Login,
  18. params,
  19. },
  20. {
  21. errorMessageMode: mode,
  22. },
  23. );
  24. }
  25. /**
  26. * @description: getUserInfo
  27. */
  28. export function getUserInfo() {
  29. return defHttp.get<GetUserInfoModel>({ url: Api.GetUserInfo }, { errorMessageMode: 'none' });
  30. }
  31. export function getPermCode() {
  32. return defHttp.get<string[]>({ url: Api.GetPermCode });
  33. }
  34. export function doLogout() {
  35. return defHttp.get({ url: Api.Logout });
  36. }
  37. export function testRetry() {
  38. return defHttp.get(
  39. { url: Api.TestRetry },
  40. {
  41. retryRequest: {
  42. isOpenRetry: true,
  43. count: 5,
  44. waitTime: 1000,
  45. },
  46. },
  47. );
  48. }