fix(admin): 任务列表商品名与执行器标签改为中文展示

建单时不再把英文 sku 写入商品名,列表按映射反查中文名,并将 Affiliate Dash 等标签本地化。

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
yml2213
2026-09-15 13:03:47 +08:00
co-authored by Cursor
parent 68f43bf323
commit b7d246e5b9
10 changed files with 92 additions and 9 deletions
@@ -60,3 +60,42 @@ export function mergeAffiliateDashSkuMapping(
}
return merged
}
/**
* 英文 sku → 91 中文商品名(运营后台列表展示用)。
* 同一 sku 若被多个中文名映射,取表中先出现的键。
*/
export function reverseAffiliateDashSkuToProductNo(
sku: string,
mapping: Readonly<Record<string, string>> = AFFILIATE_DASH_SKU_MAPPING,
): string {
const target = String(sku || '').trim()
if (!target) {
return ''
}
for (const [productNo, mappedSku] of Object.entries(mapping)) {
if (String(mappedSku || '').trim() === target) {
return String(productNo || '').trim()
}
}
return ''
}
/** 优先用中文商品名展示;已是中文或未命中映射时原样返回。 */
export function resolveAffiliateDashDisplayProductName(
skuCode: string,
skuName = '',
mapping?: Readonly<Record<string, string>> | null,
): string {
const code = String(skuCode || '').trim()
const name = String(skuName || '').trim()
const table = mapping || AFFILIATE_DASH_SKU_MAPPING
return (
reverseAffiliateDashSkuToProductNo(code, table) ||
reverseAffiliateDashSkuToProductNo(name, table) ||
name ||
code
)
}