spu.ts 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  1. import request from '@/config/axios'
  2. export interface Property {
  3. propertyId?: number // 属性编号
  4. propertyName?: string // 属性名称
  5. valueId?: number // 属性值编号
  6. valueName?: string // 属性值名称
  7. }
  8. export interface Sku {
  9. id?: number // 产品 SKU 编号
  10. name?: string // 产品 SKU 名称
  11. spuId?: number // SPU 编号
  12. properties?: Property[] // 属性数组
  13. price?: number | string // 产品价格
  14. marketPrice?: number | string // 市场价
  15. costPrice?: number | string // 成本价
  16. barCode?: string // 产品条码
  17. picUrl?: string // 图片地址
  18. stock?: number // 库存
  19. weight?: number // 产品重量,单位:kg 千克
  20. volume?: number // 产品体积,单位:m^3 平米
  21. firstBrokeragePrice?: number | string // 一级分销的佣金
  22. secondBrokeragePrice?: number | string // 二级分销的佣金
  23. salesCount?: number // 产品销量
  24. }
  25. export interface GiveCouponTemplate {
  26. id?: number
  27. name?: string // 优惠券名称
  28. }
  29. export interface Spu {
  30. id?: number
  31. name?: string // 产品名称
  32. categoryId?: number // 产品分类
  33. keyword?: string // 关键字
  34. unit?: number | undefined // 单位
  35. picUrl?: string // 产品封面图
  36. sliderPicUrls?: string[] // 产品轮播图
  37. introduction?: string // 产品简介
  38. deliveryTypes?: number[] // 配送方式
  39. deliveryTemplateId?: number | undefined // 运费模版
  40. brandId?: number // 产品品牌编号
  41. specType?: boolean // 产品规格
  42. subCommissionType?: boolean // 分销类型
  43. skus?: Sku[] // sku数组
  44. description?: string // 产品详情
  45. sort?: number // 产品排序
  46. giveIntegral?: number // 赠送积分
  47. virtualSalesCount?: number // 虚拟销量
  48. price?: number // 产品价格
  49. combinationPrice?: number // 产品拼团价格
  50. seckillPrice?: number // 产品秒杀价格
  51. salesCount?: number // 产品销量
  52. marketPrice?: number // 市场价
  53. costPrice?: number // 成本价
  54. stock?: number // 产品库存
  55. createTime?: Date // 产品创建时间
  56. status?: number // 产品状态
  57. }
  58. // 获得 Spu 列表
  59. export const getSpuPage = (params: PageParam) => {
  60. return request.get({ url: '/product/spu/page', params })
  61. }
  62. // 获得 Spu 列表 tabsCount
  63. export const getTabsCount = () => {
  64. return request.get({ url: '/product/spu/get-count' })
  65. }
  66. // 创建产品 Spu
  67. export const createSpu = (data: Spu) => {
  68. return request.post({ url: '/product/spu/create', data })
  69. }
  70. // 更新产品 Spu
  71. export const updateSpu = (data: Spu) => {
  72. return request.put({ url: '/product/spu/update', data })
  73. }
  74. // 更新产品 Spu status
  75. export const updateStatus = (data: { id: number; status: number }) => {
  76. return request.put({ url: '/product/spu/update-status', data })
  77. }
  78. // 获得产品 Spu
  79. export const getSpu = (id: number) => {
  80. return request.get({ url: `/product/spu/get-detail?id=${id}` })
  81. }
  82. // 获得产品 Spu 详情列表
  83. export const getSpuDetailList = (ids: number[]) => {
  84. return request.get({ url: `/product/spu/list?spuIds=${ids}` })
  85. }
  86. // 删除产品 Spu
  87. export const deleteSpu = (id: number) => {
  88. return request.delete({ url: `/product/spu/delete?id=${id}` })
  89. }
  90. // 导出产品 Spu Excel
  91. export const exportSpu = async (params: any) => {
  92. return await request.download({ url: '/product/spu/export', params })
  93. }
  94. // 获得产品 SPU 精简列表
  95. export const getSpuSimpleList = async () => {
  96. return request.get({ url: '/product/spu/list-all-simple' })
  97. }