user.ts 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. import type { UserInfo } from '/#/store';
  2. import { defHttp } from '/@/utils/http/axios';
  3. import { LoginParams, LoginResultModel, GetUserInfoModel } from './model/userModel';
  4. import { encodeStr } from '/@/utils/encodeUtil';
  5. import { ErrorMessageMode } from '/#/axios';
  6. import type { AppRouteRecordRaw } from '/@/router/types';
  7. enum Api {
  8. // Login = '/basic-api/login',
  9. Login = '/service/manage/login',
  10. Logout = '/service/agent/fdLogout',
  11. GetUserInfo = '/service/sale/sysUser/getInfo',
  12. GetPermCode = '/service/sale/sysMenu/getButtonByUserId',
  13. }
  14. /**
  15. * @description: user login api
  16. */
  17. export function loginApi(params: LoginParams, mode: ErrorMessageMode = 'modal') {
  18. return defHttp.post<LoginResultModel>(
  19. {
  20. url: Api.Login,
  21. params: {
  22. ...params,
  23. phoneNum: params.username,
  24. userName: params.username,
  25. username: params.username,
  26. password: encodeStr(window.btoa(params.password)),
  27. },
  28. },
  29. {
  30. errorMessageMode: mode,
  31. },
  32. );
  33. }
  34. /**
  35. * @description: getUserInfo
  36. */
  37. export function getUserInfo() {
  38. return defHttp.get<UserInfo>({ url: Api.GetUserInfo }, { errorMessageMode: 'none' });
  39. }
  40. export function getPermCode() {
  41. return defHttp.get<AppRouteRecordRaw[]>({ url: Api.GetPermCode });
  42. }
  43. export function doLogout() {
  44. return defHttp.get({ url: Api.Logout });
  45. }