http.ts 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. import axiosInstance from './axios'
  2. import { RequestHttpEnum, ContentTypeEnum } from '@/enums/httpEnum'
  3. export const get = (url: string, params?: object) => {
  4. return axiosInstance({
  5. url: url,
  6. method: RequestHttpEnum.GET,
  7. params: params,
  8. })
  9. }
  10. export const post = (url: string, data?: object, headersType?: string) => {
  11. return axiosInstance({
  12. url: url,
  13. method: RequestHttpEnum.POST,
  14. data: data,
  15. headers: {
  16. 'Content-Type': headersType || ContentTypeEnum.JSON
  17. }
  18. })
  19. }
  20. export const put = (url: string, data?: object, headersType?: ContentTypeEnum) => {
  21. return axiosInstance({
  22. url: url,
  23. method: RequestHttpEnum.PUT,
  24. data: data,
  25. headers: {
  26. 'Content-Type': headersType || ContentTypeEnum.JSON
  27. }
  28. })
  29. }
  30. export const del = (url: string, params?: object) => {
  31. return axiosInstance({
  32. url: url,
  33. method: RequestHttpEnum.DELETE,
  34. params
  35. })
  36. }
  37. // 获取请求函数,默认get
  38. export const http = (type?: RequestHttpEnum) => {
  39. switch (type) {
  40. case RequestHttpEnum.GET:
  41. return get
  42. case RequestHttpEnum.POST:
  43. return post
  44. case RequestHttpEnum.PUT:
  45. return put
  46. case RequestHttpEnum.DELETE:
  47. return del
  48. default:
  49. return get
  50. }
  51. }