factory.js 3.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. import request from "@/utils/request.js";
  2. // 获取所有上架的分类列表
  3. export function getCategoryListAPI() {
  4. return request.get("custom/factory/category/list");
  5. }
  6. // 获取所有上架的商品列表
  7. export function getProductListAPI(categoryId) {
  8. const url =
  9. categoryId === 0
  10. ? "custom/factory/product/list"
  11. : `custom/factory/product/list?categoryId=${categoryId}`;
  12. return request.get(url);
  13. }
  14. /**
  15. * 获取定制工厂商品详情
  16. * @param {number} id - 商品ID(必填)
  17. * @returns {Promise} - 接口响应Promise对象
  18. * @response {Object} data - 响应数据
  19. * @response {number} data.code - 状态码(200表示成功)
  20. * @response {Object} data.data - 商品详情对象(CustomFactoryProductResponse)
  21. * @response {number} data.data.id - 商品ID
  22. * @response {string} data.data.name - 商品名称
  23. * @response {number} data.data.categoryId - 分类ID
  24. * @response {string} data.data.categoryName - 分类名称
  25. * @response {Array} data.data.images - 商品图片列表
  26. * @response {string} data.data.metalType - 黄金属类型
  27. * @response {number} data.data.minWeight - 最小克重限制
  28. * @response {number} data.data.maxWeight - 最大克重限制
  29. * @response {number} data.data.weightTolerance - 克重误差
  30. * @response {number} data.data.deliveryDays - 发货工作日
  31. * @response {boolean} data.data.enableQuantitySelection - 是否开启数量选择(0=否,1=是)
  32. * @response {Array} data.data.processList - 工艺列表
  33. * @response {number} data.data.processList[].id - 工艺ID
  34. * @response {string} data.data.processList[].name - 工艺名称
  35. * @response {number} data.data.processList[].feePerGram - 每克工艺工费
  36. * @response {Array} data.data.formItemList - 商品描述表单项列表
  37. * @response {string} data.message - 响应信息
  38. */
  39. export function getProductDetailAPI(id) {
  40. return request.get(`custom/factory/product/detail/${id}`);
  41. }
  42. /**
  43. * 创建定制工厂订单
  44. * @param {Object} data - 订单请求参数
  45. */
  46. export function createOrderAPI(data) {
  47. return request.post("custom/factory/order/create", data);
  48. }
  49. /**
  50. * 获取定制工厂我的订单列表(支持分页、状态筛选)
  51. * @param {Object} [options] - 请求配置参数(所有参数均为可选)
  52. * @param {number} [options.page=1] - 页码(默认1,integer类型)
  53. * @param {number} [options.limit=20] - 每页数量(默认20,integer类型)
  54. * @param {number} [options.status=-1] - 订单状态(默认-1表示全部,0=待生产,1=待确认,2=已确认,3=待发货,4=等待收货,5=已完成,6=已取消)
  55. */
  56. export function customFactoryOrderListAPI(options = {}) {
  57. // 解构参数并设置默认值(符合接口文档的非必须参数要求)
  58. const {
  59. page = 1,
  60. limit = 20,
  61. status = -1, // -1 表示默认查询全部状态(接口未传status时也为全部,此处显式设为-1更清晰)
  62. } = options;
  63. const url =
  64. status === -1
  65. ? `custom/factory/order/my/list?page=${page}&limit=${limit}`
  66. : `custom/factory/order/my/list?page=${page}&limit=${limit}&status=${status}`;
  67. return request.get(url);
  68. }
  69. /**
  70. * 获取定制工厂订单详情
  71. * @param {number} orderId - 订单ID(必传)
  72. * @returns {Promise} - 请求Promise对象
  73. */
  74. export function getOrderDetailAPI(orderId) {
  75. return request.get(`custom/factory/order/detail/${orderId}`);
  76. }
  77. /**
  78. * 定制工厂订单确认支付
  79. * @param {Object} data - 订单请求参数
  80. */
  81. export function confirmOrder(data) {
  82. return request.post("custom/factory/order/confirm/payment", data);
  83. }