spu.ts 3.5 KB

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