fix(products): 恢复官方正版商品图并统一渠道代码格式化

- 从上游系统同步官方原始高清商品图(lucky_coin_x2/x30/x90),剔除此前劣质变形的合成图
- 验证全量 40 款商品资产与 affiliate_dash 官方权威库 100% 逐字节对齐
- 任务详情页接入 formatGameChannelLabel 统一渠道展示逻辑(1-1 -> 安卓-微信)
- 验证方式:npm run build、npm test(674 自动化单测全部通过)
This commit is contained in:
yml2213
2026-10-10 21:34:59 +08:00
parent 87f6f13995
commit 06d888fb6f
4 changed files with 2 additions and 1 deletions
Binary file not shown.

Before

Width:  |  Height:  |  Size: 27 KiB

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

After

Width:  |  Height:  |  Size: 38 KiB

@@ -66,6 +66,7 @@ import { formatAdminDateTime } from '@/utils/admin-time'
import {
copyVoucherDataUrlToClipboard,
downloadVoucherDataUrl,
formatGameChannelLabel,
generateVoucherDataURL,
type DeliveryVoucherData,
} from '@/utils/voucher'
@@ -197,7 +198,7 @@ export default function AdminTaskDetailPage() {
const productSKU =
detail.orderItem?.skuCode || detail.task.skuCode || detail.affiliateDash?.sku || ''
const rawChannel = detail.affiliateDash?.gameChannel || ''
const channel = rawChannel === '1-1' ? '安卓-微信' : rawChannel || '安卓-微信'
const channel = formatGameChannelLabel(rawChannel)
const redeemedAt =
detail.task.redeemedAt || detail.affiliateDash?.lastSyncedAt || detail.task.updatedAt
const voucherNo = detail.task.taskNo || ''