This commit is contained in:
2025-08-20 23:12:42 +08:00
parent 3a441bddc2
commit 459539349f

View File

@@ -493,14 +493,61 @@ export default {
const images = (parsedQuery && parsedQuery.images && Array.isArray(parsedQuery.images)) ? parsedQuery.images : [];
// 记录当前线报项,便于发品成功后加入常用
this.currentXbMessageItem = child;
this.publishInitialData = {
// 先尝试生成转链文案,成功后带文案打开发品弹窗
const materialUrl = this.getJsonValue(child.jsonQueryResult, 'materialUrl');
const skuName = child.skuName;
const inputContent = materialUrl || skuName || '';
// 预先设置基本信息,等待文案生成后补充
const baseInitialData = {
title: this.decodeUnicode(child.skuName) || '',
content: '',
images: images,
originalPrice: parsedQuery && parsedQuery.priceInfo ? Number(parsedQuery.priceInfo.price || parsedQuery.priceInfo.lowestCouponPrice || 0) : null,
wenanOptions: []
};
this.publishDialogVisible = true;
if (!inputContent) {
// 无法生成转链输入,直接打开(无文案)
this.publishInitialData = baseInitialData;
this.publishDialogVisible = true;
return;
}
try {
this.$modal && this.$modal.loading('正在生成转链文案,请稍候…');
} catch(e) { /* 忽略 */ }
generatePromotionContent({ promotionContent: inputContent }).then(res => {
let result = res && (res.msg || res.data);
let arr = [];
try {
if (typeof result === 'string') {
arr = JSON.parse(result);
} else if (Array.isArray(result)) {
arr = result;
}
} catch (e) { arr = []; }
let wenanOptions = [];
if (Array.isArray(arr) && arr.length > 0) {
const first = arr[0] || {};
const wenanArr = Array.isArray(first.wenan) ? first.wenan : [];
wenanOptions = wenanArr.map((w, i) => ({ label: w.type || `版本${i+1}`, content: w.content || '' }));
}
this.publishInitialData = Object.assign({}, baseInitialData, {
content: (wenanOptions[0] && wenanOptions[0].content) || '',
wenanOptions
});
}).catch(() => {
// 忽略错误,仍然打开弹窗(无文案)
this.publishInitialData = baseInitialData;
}).finally(() => {
try { this.$modal && this.$modal.closeLoading(); } catch(e) { /* 忽略 */ }
this.publishDialogVisible = true;
});
},
/** 查询消息列表 */
getList() {