1
This commit is contained in:
@@ -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.html)或materialUrl
|
||||
// 优先使用查询商品信息时获取的数据
|
||||
if (this.createForm.queryResult) {
|
||||
// 如果查询过商品信息,优先使用查询结果中的spuid(SKU ID)或materialUrl
|
||||
// 如果查询过商品信息,根据商品类型选择优先使用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('使用查询到的spuid(SKU ID):', queryResult.spuid)
|
||||
}
|
||||
// 2. 如果没有spuid,使用materialUrl(jingfen链接)
|
||||
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商品:优先使用materialUrl(jingfen链接),如果没有则使用SKU ID或落地页地址
|
||||
// 自营商品:优先使用spuid(SKU ID),如果没有则使用materialUrl
|
||||
if (isPop) {
|
||||
// POP商品:优先使用materialUrl
|
||||
if (queryResult.materialUrl) {
|
||||
params.materialUrl = queryResult.materialUrl
|
||||
console.log('POP商品,使用查询到的materialUrl(jingfen链接):', queryResult.materialUrl)
|
||||
} else if (queryResult.spuid && /^\d+$/.test(String(queryResult.spuid))) {
|
||||
// 如果没有materialUrl,使用SKU ID(京东API支持)
|
||||
params.skuId = String(queryResult.spuid)
|
||||
console.log('POP商品,materialUrl不可用,使用查询到的spuid(SKU 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('自营商品,使用查询到的spuid(SKU 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 {
|
||||
// 没有查询过商品信息,使用用户输入的
|
||||
|
||||
Reference in New Issue
Block a user