user.ts 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120
  1. import { defHttp } from '/@/utils/http/axios';
  2. import { LoginParams, LoginResultModel, GetUserInfoModel, UserInfoModel, RefreshTokenParams, SmsLoginParams } from './model/userModel';
  3. import type { ErrorMessageMode } from '/#/axios';
  4. enum Api {
  5. Login = '/auth/login',
  6. SmsCodeLogin = '/auth/code/login',
  7. Logout = '/auth/logout',
  8. GetUserInfo = '/user',
  9. GetMyInfo = '/user/me/info',
  10. GetPermCode = '/role/me/permissions',
  11. RefreshToken = '/auth/token',
  12. SendLoginSmsCode = '/noauth/send_login_code/',
  13. ResetCode = '/noauth/reset_code/',
  14. ResetPassword = '/noauth/reset/',
  15. kidLogin = '/singleAuth/getCustomToken',
  16. }
  17. /**
  18. * @description: 有response_type后的code请求
  19. */
  20. export function kidloginApi(params: LoginParams, mode: ErrorMessageMode = 'modal') {
  21. return defHttp.post<LoginResultModel>(
  22. {
  23. url: Api.kidLogin,
  24. params,
  25. },
  26. {
  27. errorMessageMode: mode,
  28. joinPrefix: false,
  29. }
  30. );
  31. }
  32. /**
  33. * @description: user login api
  34. */
  35. export function loginApi(params: LoginParams, mode: ErrorMessageMode = 'modal') {
  36. return defHttp.post<LoginResultModel>(
  37. {
  38. url: Api.Login,
  39. params,
  40. },
  41. {
  42. errorMessageMode: mode,
  43. joinPrefix: false,
  44. }
  45. );
  46. }
  47. export function getMyInfo() {
  48. return defHttp.get<UserInfoModel>({ url: Api.GetMyInfo });
  49. }
  50. /**
  51. * @description: getUserInfo
  52. */
  53. export function getUserInfo() {
  54. return defHttp.get<GetUserInfoModel>({ url: Api.GetUserInfo });
  55. }
  56. export function getPermCode() {
  57. return defHttp.get<string[]>({ url: Api.GetPermCode });
  58. }
  59. export async function SendLoginSmsCode(phoneNumber: string) {
  60. return await defHttp.post<boolean>({ url: Api.SendLoginSmsCode + phoneNumber });
  61. }
  62. export async function doLogout() {
  63. await defHttp.post(
  64. {
  65. url: Api.Logout,
  66. },
  67. {
  68. joinPrefix: false,
  69. }
  70. );
  71. }
  72. export function doRefreshToken(params: RefreshTokenParams) {
  73. return defHttp.post<LoginResultModel>(
  74. {
  75. url: Api.RefreshToken,
  76. params,
  77. },
  78. {
  79. joinPrefix: false,
  80. }
  81. );
  82. }
  83. export function smsCodeLoginApi(params: SmsLoginParams, mode: ErrorMessageMode = 'modal') {
  84. return defHttp.post<LoginResultModel>(
  85. {
  86. url: Api.SmsCodeLogin,
  87. params,
  88. },
  89. {
  90. errorMessageMode: mode,
  91. }
  92. );
  93. }
  94. // 密码重置验证码
  95. export function passwordResetCode(mobile) {
  96. return defHttp.post({
  97. url: Api.ResetCode + mobile,
  98. });
  99. }
  100. // 重置密码
  101. export function forgetPasswordApi(data) {
  102. return defHttp.post({
  103. url: Api.ResetPassword + data.phoneNumber,
  104. data,
  105. });
  106. }
  107. export const getUserToken = (id: string) => {
  108. return defHttp.get<Record<'token' | 'refreshToken', string>>({
  109. url: `/third/login/id/${id}`,
  110. });
  111. };