Bladeren bron

fix(marketingEdit): 解决文本占位符替换逻辑问题

- 移除原始占位文本兜底逻辑,无法取值时直接替换为空字符串
- 添加空值检查,确保text和data-value属性不会设置为undefined
- 统一处理多规格和默认模式下的文本替换逻辑
panqiuyao 16 uur geleden
bovenliggende
commit
8ad16c1d34
1 gewijzigde bestanden met toevoegingen van 8 en 8 verwijderingen
  1. 8 8
      frontend/src/views/components/marketingEdit/generateImagesRender.js

+ 8 - 8
frontend/src/views/components/marketingEdit/generateImagesRender.js

@@ -547,12 +547,12 @@ export async function renderImagesByPlans(plans, canvasList, skus) {
                 return
               }
 
-              const origin = obj['data-value'] || ''
-              const textVal = mapKeyToText(sku, key, origin)
+              // 不使用原始占位文本做兜底:如果从 sku 或 raw 中无法取到值,则替换为空字符串
+              const textVal = mapKeyToText(sku, key, '')
 
               obj.visible = true
-              obj.text = textVal
-              obj['data-value'] = textVal
+              obj.text = textVal || ''
+              obj['data-value'] = textVal || ''
             })
           } else {
             // 默认 / single:全部文字都使用同一个货号(默认模式只生成 1 张,用第一个货号)
@@ -561,12 +561,12 @@ export async function renderImagesByPlans(plans, canvasList, skus) {
               textPlaceholders.forEach((obj) => {
                 const key = obj['data-key']
                 if (!key) return
-                const origin = obj['data-value'] || ''
-                const textVal = mapKeyToText(sku, key, origin)
+                // 不使用原始占位文本做兜底:如果从 sku 或 raw 中无法取到值,则替换为空字符串
+                const textVal = mapKeyToText(sku, key, '')
 
                 obj.visible = true
-                obj.text = textVal
-                obj['data-value'] = textVal
+                obj.text = textVal || ''
+                obj['data-value'] = textVal || ''
               })
             }
           }