common.ts 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. /** @format */
  2. import { useMyRequest } from '~/composables/useFetchRequest'
  3. enum Api {
  4. CategoryList = '/client/category/merchandise',
  5. NewCategoryList = '/api-s002/categoryUsa/rootList',
  6. OssUploadFile = '/sys/oss/file/otherUpload',
  7. DictUrl = '/shop/sys/dict',
  8. Subscribe = '/client-s003/spCustomSubscription/add',
  9. ContactUs = '/client/guestbook/add',
  10. labels = '/client/centerProductTag/listTree',
  11. BannerData = '/client/category/detail',
  12. NoticeRemind = '/client/notification/unReadList',
  13. consultingService = '/client-s003/guestbook/add',
  14. }
  15. /**
  16. * 获取分类列表
  17. * @param params
  18. * @returns
  19. */
  20. export async function getCategoryListApi(params?: any) {
  21. const data = await useMyRequest().get(Api.CategoryList, params)
  22. const result = handleData(data)
  23. return result
  24. }
  25. function handleData(data: any) {
  26. if (data && isArray(data)) {
  27. data.forEach((item) => {
  28. item.label = item.title
  29. if (item.children && item.children.length > 0)
  30. handleData(item.children)
  31. })
  32. }
  33. return data
  34. }
  35. /**
  36. * 获取分类数据
  37. * @returns
  38. */
  39. export async function getBannerDataApi(data: any) {
  40. return await useMyRequest().get(Api.BannerData, data)
  41. }
  42. /**
  43. * 获取字典列表数据
  44. * @returns
  45. */
  46. export async function getDictListApi(code: string) {
  47. return await useMyRequest().get(Api.DictUrl, {
  48. code,
  49. })
  50. }
  51. /**
  52. * 获取产品标签 + Trending
  53. * @returns
  54. */
  55. export async function getProductLabelAndTrendApi(data: any) {
  56. return await useMyRequest().get(Api.labels, data)
  57. }
  58. /**
  59. * 上传文件
  60. * @param file
  61. * @returns
  62. */
  63. export async function ossUploadApi(file: File) {
  64. const formData = new FormData()
  65. formData.append('file', file)
  66. try {
  67. const result = await useMyRequest().post(Api.OssUploadFile, formData)
  68. return result
  69. }
  70. catch (error) {
  71. console.error('Upload failed:', error)
  72. }
  73. }
  74. /**
  75. * 订阅
  76. */
  77. export async function submitSubscribeApi(params: any) {
  78. return await useMyRequest().post(Api.Subscribe, params)
  79. }
  80. /**
  81. * 联系我们
  82. */
  83. export async function getContactUsApi(params: any) {
  84. return await useMyRequest().post(Api.ContactUs, params)
  85. }
  86. /**
  87. * 获取未读提醒列表
  88. */
  89. export async function getNoticeRemindApi(params: any) {
  90. return await useMyRequest().get(Api.NoticeRemind, params)
  91. }
  92. /**
  93. * 获取未读提醒列表
  94. */
  95. export async function consultingServiceApi(params: any) {
  96. return await useMyRequest().post(Api.consultingService, params)
  97. }