197 lines
4.2 KiB
JavaScript
197 lines
4.2 KiB
JavaScript
/**
|
||
* 商品服务 - 处理商品管理、克隆工具等
|
||
* @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<Object>} 商品列表
|
||
*/
|
||
getList(params) {
|
||
return request({
|
||
url: '/zhishu/shopGoods/xcx',
|
||
method: 'GET',
|
||
data: params,
|
||
loading: true
|
||
})
|
||
},
|
||
|
||
/**
|
||
* 获取商品详情
|
||
* @param {String} id - 商品 ID
|
||
* @returns {Promise<Object>} 商品详情
|
||
*/
|
||
getDetail(id) {
|
||
return request({
|
||
url: `/zhishu/shopGoods/${id}`,
|
||
method: 'GET'
|
||
})
|
||
},
|
||
|
||
/**
|
||
* 更新商品信息
|
||
* @param {String} id - 商品 ID
|
||
* @param {Object} data - 商品信息
|
||
* @returns {Promise<Object>} 更新结果
|
||
*/
|
||
update(id, data) {
|
||
return request({
|
||
url: `/zhishu/shopGoods/${id}`,
|
||
method: 'PUT',
|
||
data
|
||
})
|
||
},
|
||
|
||
/**
|
||
* 删除商品
|
||
* @param {String} id - 商品 ID
|
||
* @returns {Promise<Object>} 删除结果
|
||
*/
|
||
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<Object>} 更新结果
|
||
*/
|
||
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<Object>} 操作结果
|
||
*/
|
||
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<Object>} 克隆结果
|
||
*/
|
||
cloneFromKongfz(data) {
|
||
return request({
|
||
url: '/zhishu/goods/clone/kongfz',
|
||
method: 'POST',
|
||
data,
|
||
loading: true
|
||
})
|
||
},
|
||
|
||
/**
|
||
* 批量克隆商品
|
||
* @param {Array} items - 克隆项列表
|
||
* @returns {Promise<Object>} 批量克隆结果
|
||
*/
|
||
batchClone(items) {
|
||
return request({
|
||
url: '/zhishu/goods/clone/batch',
|
||
method: 'POST',
|
||
data: { items },
|
||
loading: true
|
||
})
|
||
},
|
||
|
||
/**
|
||
* 获取克隆历史
|
||
* @param {Number} pageNum - 页码
|
||
* @param {Number} pageSize - 每页数量
|
||
* @returns {Promise<Object>} 克隆历史记录
|
||
*/
|
||
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<Object>} 各平台价格信息
|
||
*/
|
||
comparePrices(isbn) {
|
||
return request({
|
||
url: '/zhishu/price/compare',
|
||
method: 'GET',
|
||
data: { isbn },
|
||
loading: true
|
||
})
|
||
},
|
||
|
||
/**
|
||
* 获取孔夫子价格
|
||
* @param {String} isbn - ISBN 号
|
||
* @returns {Promise<Object>} 孔夫子价格信息
|
||
*/
|
||
getKongfzPrice(isbn) {
|
||
return request({
|
||
url: '/zhishu/price/kongfz',
|
||
method: 'GET',
|
||
data: { isbn }
|
||
})
|
||
},
|
||
|
||
/**
|
||
* 获取当当价格
|
||
* @param {String} isbn - ISBN 号
|
||
* @returns {Promise<Object>} 当当价格信息
|
||
*/
|
||
getDangdangPrice(isbn) {
|
||
return request({
|
||
url: '/zhishu/price/dangdang',
|
||
method: 'GET',
|
||
data: { isbn }
|
||
})
|
||
}
|
||
}
|
||
|
||
export default {
|
||
goods: goodsApi,
|
||
clone: cloneApi,
|
||
priceCompare: priceCompareApi
|
||
} |