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