/** * 商品服务 - 处理商品管理、克隆工具等 * @module services/goods */ import request from '@/utils/request' /** * 商品管理 API */ export const goodsApi = { /** * 获取商品列表 * @param {Object} params - 查询参数 * @param {String} params.keyword - 搜索关键词 * @param {String} params.status - 商品状态 * @param {Number} params.pageNum - 页码 * @param {Number} params.pageSize - 每页数量 * @returns {Promise} 商品列表 */ getList(params) { return request({ url: '/zhishu/shopGoods/xcx', method: 'GET', data: params, loading: true }) }, /** * 获取商品详情 * @param {String} id - 商品 ID * @returns {Promise} 商品详情 */ getDetail(id) { return request({ url: `/zhishu/shopGoods/${id}`, method: 'GET' }) }, /** * 更新商品信息 * @param {String} id - 商品 ID * @param {Object} data - 商品信息 * @returns {Promise} 更新结果 */ update(id, data) { return request({ url: `/zhishu/shopGoods/${id}`, method: 'PUT', data }) }, /** * 删除商品 * @param {String} id - 商品 ID * @returns {Promise} 删除结果 */ delete(id) { return request({ url: `/zhishu/shopGoods/${id}`, method: 'DELETE', loading: true }) }, /** * 批量更新孔网平台 ID * @param {Array} items - 更新项列表 * @param {String} items[].goodsId - 商品 ID * @param {String} items[].kongfzId - 孔网 ID * @returns {Promise} 更新结果 */ batchUpdateKongfzId(items) { return request({ url: '/zhishu/shopGoodsPublished/batchUpdateKfzPlatformId', method: 'POST', data: { items }, loading: true }) }, /** * 商品上下架 * @param {String} id - 商品 ID * @param {Number} status - 状态(1=上架, 0=下架) * @returns {Promise} 操作结果 */ toggleStatus(id, status) { return request({ url: `/zhishu/shopGoods/${id}/status`, method: 'PUT', data: { status } }) } } /** * 克隆工具 API(孔夫子旧书网) */ export const cloneApi = { /** * 从孔夫子克隆商品 * @param {Object} data - 克隆参数 * @param {String} data.kongfzId - 孔夫子商品 ID * @param {Object} data.priceAdjust - 价格调整配置 * @returns {Promise} 克隆结果 */ cloneFromKongfz(data) { return request({ url: '/zhishu/goods/clone/kongfz', method: 'POST', data, loading: true }) }, /** * 批量克隆商品 * @param {Array} items - 克隆项列表 * @returns {Promise} 批量克隆结果 */ batchClone(items) { return request({ url: '/zhishu/goods/clone/batch', method: 'POST', data: { items }, loading: true }) }, /** * 获取克隆历史 * @param {Number} pageNum - 页码 * @param {Number} pageSize - 每页数量 * @returns {Promise} 克隆历史记录 */ getCloneHistory(pageNum = 1, pageSize = 20) { return request({ url: '/zhishu/goods/clone/history', method: 'GET', data: { pageNum, pageSize } }) } } /** * 价格对比 API */ export const priceCompareApi = { /** * 获取各平台价格对比 * @param {String} isbn - ISBN 号 * @returns {Promise} 各平台价格信息 */ comparePrices(isbn) { return request({ url: '/zhishu/price/compare', method: 'GET', data: { isbn }, loading: true }) }, /** * 获取孔夫子价格 * @param {String} isbn - ISBN 号 * @returns {Promise} 孔夫子价格信息 */ getKongfzPrice(isbn) { return request({ url: '/zhishu/price/kongfz', method: 'GET', data: { isbn } }) }, /** * 获取当当价格 * @param {String} isbn - ISBN 号 * @returns {Promise} 当当价格信息 */ getDangdangPrice(isbn) { return request({ url: '/zhishu/price/dangdang', method: 'GET', data: { isbn } }) } } export default { goods: goodsApi, clone: cloneApi, priceCompare: priceCompareApi }