user.ts 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. import { defHttp } from '/@/utils/http/axios';
  2. import { LoginParams, LoginResultModel, GetUserInfoModel } from './model/userModel';
  3. import { encodeStr } from '/@/utils/encodeUtil';
  4. import { ErrorMessageMode } from '/#/axios';
  5. enum Api {
  6. Login = '/basic-api/sys/login',
  7. // Login = '/zfb-api/',
  8. Logout = '/logout',
  9. GetUserInfo = '/basic-api/sys/user/infoAnon',
  10. GetPermCode = '/getPermCode',
  11. }
  12. /**
  13. * @description: user login api
  14. */
  15. export function loginApi(params: LoginParams, mode: ErrorMessageMode = 'modal') {
  16. const form = new FormData();
  17. const encryptPassword: string = encodeStr(window.btoa(params.password));
  18. form.append('username', params.username);
  19. form.append('password', encryptPassword);
  20. form.append('captcha', params.captcha);
  21. return defHttp.post<LoginResultModel>(
  22. {
  23. url: Api.Login,
  24. // params,
  25. params: form,
  26. headers: { 'Content-Type': 'multipart/form-data' },
  27. },
  28. {
  29. errorMessageMode: mode,
  30. },
  31. );
  32. }
  33. /**
  34. * @description: getUserInfo
  35. */
  36. export function getUserInfo(id: number) {
  37. return defHttp.get<GetUserInfoModel>(
  38. { url: `${Api.GetUserInfo}/${id}` },
  39. { errorMessageMode: 'none' },
  40. );
  41. }
  42. export function getPermCode() {
  43. return defHttp.get<string[]>({ url: Api.GetPermCode });
  44. }
  45. export function doLogout() {
  46. return defHttp.get({ url: Api.Logout });
  47. }