import request from "@/utils/request.js"; // 获取所有上架的分类列表 export function getCategoryListAPI() { return request.get("custom/factory/category/list"); } // 获取所有上架的商品列表 export function getProductListAPI(categoryId) { const url = categoryId === 0 ? "custom/factory/product/list" : `custom/factory/product/list?categoryId=${categoryId}`; return request.get(url); } /** * 获取定制工厂商品详情 * @param {number} id - 商品ID(必填) * @returns {Promise} - 接口响应Promise对象 * @response {Object} data - 响应数据 * @response {number} data.code - 状态码(200表示成功) * @response {Object} data.data - 商品详情对象(CustomFactoryProductResponse) * @response {number} data.data.id - 商品ID * @response {string} data.data.name - 商品名称 * @response {number} data.data.categoryId - 分类ID * @response {string} data.data.categoryName - 分类名称 * @response {Array} data.data.images - 商品图片列表 * @response {string} data.data.metalType - 黄金属类型 * @response {number} data.data.minWeight - 最小克重限制 * @response {number} data.data.maxWeight - 最大克重限制 * @response {number} data.data.weightTolerance - 克重误差 * @response {number} data.data.deliveryDays - 发货工作日 * @response {boolean} data.data.enableQuantitySelection - 是否开启数量选择(0=否,1=是) * @response {Array} data.data.processList - 工艺列表 * @response {number} data.data.processList[].id - 工艺ID * @response {string} data.data.processList[].name - 工艺名称 * @response {number} data.data.processList[].feePerGram - 每克工艺工费 * @response {Array} data.data.formItemList - 商品描述表单项列表 * @response {string} data.message - 响应信息 */ export function getProductDetailAPI(id) { return request.get(`custom/factory/product/detail/${id}`); } /** * 创建定制工厂订单 * @param {Object} data - 订单请求参数 */ export function createOrderAPI(data) { return request.post("custom/factory/order/create", data); } /** * 获取定制工厂我的订单列表(支持分页、状态筛选) * @param {Object} [options] - 请求配置参数(所有参数均为可选) * @param {number} [options.page=1] - 页码(默认1,integer类型) * @param {number} [options.limit=20] - 每页数量(默认20,integer类型) * @param {number} [options.status=-1] - 订单状态(默认-1表示全部,0=待生产,1=待确认,2=已确认,3=待发货,4=等待收货,5=已完成,6=已取消) */ export function customFactoryOrderListAPI(options = {}) { // 解构参数并设置默认值(符合接口文档的非必须参数要求) const { page = 1, limit = 20, status = -1, // -1 表示默认查询全部状态(接口未传status时也为全部,此处显式设为-1更清晰) } = options; const url = status === -1 ? `custom/factory/order/my/list?page=${page}&limit=${limit}` : `custom/factory/order/my/list?page=${page}&limit=${limit}&status=${status}`; return request.get(url); } /** * 获取定制工厂订单详情 * @param {number} orderId - 订单ID(必传) * @returns {Promise} - 请求Promise对象 */ export function getOrderDetailAPI(orderId) { return request.get(`custom/factory/order/detail/${orderId}`); } /** * 定制工厂订单确认支付 * @param {Object} data - 订单请求参数 */ export function confirmOrder(data) { return request.post("custom/factory/order/confirm/payment", data); }