userService.ts 898 B

12345678910111213141516171819202122232425262728293031323334
  1. import type { UserInfo, UserToken } from '#/entity'
  2. import Request from '../request'
  3. export interface SignInReq {
  4. username: string
  5. password: string
  6. }
  7. export interface SignUpReq extends SignInReq {
  8. email: string
  9. }
  10. export type SignInRes = UserToken & { user: UserInfo }
  11. export enum UserApi {
  12. SignIn = '/auth/signin',
  13. SignUp = '/auth/signup',
  14. Logout = '/auth/logout',
  15. Refresh = '/auth/refresh',
  16. User = '/user'
  17. }
  18. const signin = (data: SignInReq) => Request.post<SignInRes>({ url: UserApi.SignIn, data })
  19. const signup = (data: SignUpReq) => Request.post<SignInRes>({ url: UserApi.SignUp, data })
  20. const logout = () => Request.get({ url: UserApi.Logout })
  21. const homepageData = () => Request.get({ url: '/homepage' })
  22. const findById = (id: string) => Request.get<UserInfo[]>({ url: `${UserApi.User}/${id}` })
  23. export default {
  24. signin,
  25. signup,
  26. findById,
  27. logout,
  28. homepageData
  29. }