daShangDao_miniProgram/services/modules/goods.js
2026-06-15 16:37:57 +08:00

197 lines
4.2 KiB
JavaScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/**
* 商品服务 - 处理商品管理、克隆工具等
* @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
}