user.ts 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123
  1. import { defHttp } from '/@/utils/http/axios';
  2. import {
  3. LoginParams,
  4. SendcodeParams,
  5. RegisterParams,
  6. LoginResultModel,
  7. GetUserInfoModel,
  8. updateUserInfoPasswordParam,
  9. } from './model/userModel';
  10. import { encodeStr } from '/@/utils/encodeUtil';
  11. import { ErrorMessageMode } from '/#/axios';
  12. import { ContentTypeEnum } from '/@/enums/httpEnum';
  13. import type { Result } from '/#/axios';
  14. // import { encode } from 'js-base64';
  15. enum Api {
  16. // Login = '/zfb-api/zfb/sys/login',
  17. Login = '/zfb-api/zfb/loginBackground',
  18. Sendcode = '/zfb-api/zfb/phone/getSMForApp',
  19. Register = '/zfb-api/zfb/platform/user/register',
  20. Logout = '/logout',
  21. updatePassword = '/zfb-api/zfb/user/updatePassword',
  22. GetUserInfo = '/zfb-api/zfb/shop/sys/user/infoAnon',
  23. GetPermCode = '/getPermCode',
  24. }
  25. /**
  26. * @description: user login api
  27. */
  28. export function loginApi(params: LoginParams, mode: ErrorMessageMode = 'modal') {
  29. // const form = new FormData();
  30. // const encryptPassword: string = encodeStr(window.btoa(params.password));
  31. // form.append('username', params.username);
  32. // form.append('password', encryptPassword);
  33. // form.append('captcha', params.captcha);
  34. const paramData: LoginParams = {
  35. ...params,
  36. userPassword: encodeStr(window.btoa(params.userPassword)),
  37. };
  38. return defHttp.post<LoginResultModel>(
  39. {
  40. url: Api.Login,
  41. // params,
  42. params: paramData,
  43. headers: { 'Content-Type': ContentTypeEnum.JSON },
  44. },
  45. {
  46. errorMessageMode: mode,
  47. },
  48. );
  49. }
  50. export function registerApi(params: RegisterParams) {
  51. const paramData: RegisterParams = {
  52. area: '86',
  53. code: params.code,
  54. userName: params.userName,
  55. userPassword: encodeStr(window.btoa(params.userPassword)),
  56. };
  57. return defHttp.post<Result>(
  58. {
  59. url: Api.Register,
  60. // params,
  61. params: paramData,
  62. headers: { 'Content-Type': ContentTypeEnum.JSON },
  63. },
  64. {
  65. errorMessageMode: 'none',
  66. useResult: true,
  67. },
  68. );
  69. }
  70. export async function sendCodeApi(params: SendcodeParams) {
  71. const paramData: SendcodeParams = {
  72. areaNum: '86',
  73. phone: params.phone,
  74. };
  75. const res = await defHttp.post<Result>(
  76. {
  77. url: Api.Sendcode,
  78. // params,
  79. params: paramData,
  80. headers: { 'Content-Type': ContentTypeEnum.JSON },
  81. },
  82. {
  83. useResult: true,
  84. },
  85. );
  86. if (res.code === 200) {
  87. return Promise.resolve(true);
  88. } else {
  89. return Promise.resolve(false);
  90. }
  91. }
  92. /**
  93. * @description: getUserInfo
  94. */
  95. export function getUserInfo(id: number) {
  96. return defHttp.post<GetUserInfoModel>(
  97. { url: `${Api.GetUserInfo}/${id}` },
  98. { errorMessageMode: 'none' },
  99. );
  100. }
  101. export function getPermCode() {
  102. return defHttp.get<string[]>({ url: Api.GetPermCode });
  103. }
  104. export function doLogout() {
  105. return defHttp.get({ url: Api.Logout });
  106. }
  107. export function updatePasswordApi(params: updateUserInfoPasswordParam) {
  108. return defHttp.post<GetUserInfoModel>(
  109. { url: Api.updatePassword, params },
  110. // { errorMessageMode: 'none' },
  111. );
  112. }