This commit is contained in:
2025-10-31 22:20:06 +08:00
parent 2095fc78e6
commit 93bf30338a

View File

@@ -551,31 +551,64 @@ export default {
} }
// 根据提取结果设置skuId或materialUrl // 根据提取结果设置skuId或materialUrl
// 参考JD项目idOrUrl = skuId != null && !skuId.trim().isEmpty() ? skuId : materialUrl // 参考京东API文档skuMaterialId支持SKU ID、商品落地页地址如https://item.jd.com/11144230.htmlmaterialUrl
// 优先使用查询商品信息时获取的数据 // 优先使用查询商品信息时获取的数据
if (this.createForm.queryResult) { if (this.createForm.queryResult) {
// 如果查询过商品信息,优先使用查询结果中的spuidSKU IDmaterialUrl // 如果查询过商品信息,根据商品类型选择优先使用materialUrl或spuid
const queryResult = this.createForm.queryResult const queryResult = this.createForm.queryResult
const isPop = this.createForm.owner === 'pop'
// 1. 优先使用spuid纯数字SKU ID- 这是最准确的 // POP商品优先使用materialUrljingfen链接如果没有则使用SKU ID或落地页地址
if (queryResult.spuid && /^\d+$/.test(String(queryResult.spuid))) { // 自营商品优先使用spuidSKU ID如果没有则使用materialUrl
params.skuId = String(queryResult.spuid) if (isPop) {
console.log('使用查询到的spuidSKU ID', queryResult.spuid) // POP商品优先使用materialUrl
} if (queryResult.materialUrl) {
// 2. 如果没有spuid使用materialUrljingfen链接 params.materialUrl = queryResult.materialUrl
else if (queryResult.materialUrl) { console.log('POP商品使用查询到的materialUrljingfen链接', queryResult.materialUrl)
params.materialUrl = queryResult.materialUrl } else if (queryResult.spuid && /^\d+$/.test(String(queryResult.spuid))) {
console.log('使用查询到的materialUrl', queryResult.materialUrl) // 如果没有materialUrl使用SKU ID京东API支持
} params.skuId = String(queryResult.spuid)
// 3. 降级从用户输入的URL中提取SKU ID console.log('POP商品materialUrl不可用使用查询到的spuidSKU ID', queryResult.spuid)
else if (isUrl && skuId && /^\d+$/.test(skuId)) { } else {
params.skuId = skuId // 降级从用户输入的URL中提取SKU ID或使用完整URL
console.log('使用从URL提取的SKU ID', skuId) if (isUrl && skuId && /^\d+$/.test(skuId)) {
} // 可以使用SKU ID
// 4. 最后降级使用用户输入的原始URL但短链可能不行 params.skuId = skuId
else { console.log('POP商品使用从URL提取的SKU ID', skuId)
params.materialUrl = materialUrl } else if (isUrl && materialUrl.includes('item.jd.com')) {
console.log('使用用户输入的原始URL可能是短链可能不工作', materialUrl) // 商品落地页地址https://item.jd.com/11144230.html也可以
params.materialUrl = materialUrl
console.log('POP商品使用商品落地页地址', materialUrl)
} else if (isUrl) {
params.materialUrl = materialUrl
console.log('POP商品使用用户输入的URL', materialUrl)
} else if (/^\d+$/.test(skuId)) {
params.skuId = skuId
console.log('POP商品使用纯数字SKU ID', skuId)
}
}
} else {
// 自营商品优先使用spuid纯数字SKU ID
if (queryResult.spuid && /^\d+$/.test(String(queryResult.spuid))) {
params.skuId = String(queryResult.spuid)
console.log('自营商品使用查询到的spuidSKU ID', queryResult.spuid)
} else if (queryResult.materialUrl) {
// 如果没有spuid使用materialUrl
params.materialUrl = queryResult.materialUrl
console.log('自营商品spuid不可用使用materialUrl', queryResult.materialUrl)
} else {
// 降级从用户输入的URL中提取SKU ID
if (isUrl && skuId && /^\d+$/.test(skuId)) {
params.skuId = skuId
console.log('自营商品使用从URL提取的SKU ID', skuId)
} else if (isUrl) {
params.materialUrl = materialUrl
console.log('自营商品使用用户输入的URL', materialUrl)
} else if (/^\d+$/.test(skuId)) {
params.skuId = skuId
console.log('自营商品使用纯数字SKU ID', skuId)
}
}
} }
} else { } else {
// 没有查询过商品信息,使用用户输入的 // 没有查询过商品信息,使用用户输入的