user.ts 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. import { post } from '../utils/request';
  2. import { API_PATHS } from '../utils/config';
  3. /**
  4. * 用户相关接口
  5. */
  6. /**
  7. * 登录结果接口
  8. */
  9. export interface LoginResult {
  10. token: string;
  11. userInfo: UserInfo;
  12. }
  13. /**
  14. * 用户信息接口
  15. */
  16. export interface UserInfo {
  17. id: number;
  18. nickname: string;
  19. phone: string;
  20. avatar: string;
  21. }
  22. /**
  23. * 微信小程序手机号快速登录
  24. * 使用button open-type="getPhoneNumber"获取手机号
  25. * @param params { code, phoneCode }
  26. * code: 微信登录凭证(用于获取openid)
  27. * phoneCode: 手机号获取凭证(用于获取手机号)
  28. */
  29. export const loginByMiniappPhone = (params: { code: string; phoneCode: string }): Promise<LoginResult> => {
  30. return post<LoginResult>(API_PATHS.loginMiniappPhone, params);
  31. };
  32. /**
  33. * 获取用户信息
  34. */
  35. export const getUserInfo = (): Promise<UserInfo> => {
  36. return post<UserInfo>(API_PATHS.getUserInfo);
  37. };
  38. /**
  39. * 退出登录
  40. */
  41. export const logout = (): Promise<void> => {
  42. return post<void>(API_PATHS.logout);
  43. };