diff --git a/src/pages/checkout/index.tsx b/src/pages/checkout/index.tsx index f434909..1986a1b 100644 --- a/src/pages/checkout/index.tsx +++ b/src/pages/checkout/index.tsx @@ -105,6 +105,27 @@ export default function CheckoutPage() { const hasStickers = design && design.designData && design.designData.stickers && design.designData.stickers.length > 0 const hasLegacyImage = design && design.designData ? design.designData.imageSrc : undefined + + // 预览消费贴纸 edits(亮度/色相/对比度 → CSS filter),与 DIY 工作台同一呈现逻辑 + //(diy-fix-workflow 问题5 的 R3 待办:不消费会导致确认页图片与工作台不一致) + const stickerFilter = (s: { edits?: { brightness?: number; hue?: number; contrast?: number } }) => { + const ed = s.edits + if (!ed) return undefined + const b = ed.brightness || 0 + const h = ed.hue || 0 + const c = ed.contrast || 0 + if (b === 0 && h === 0 && c === 0) return undefined + return `brightness(${100 + b}%) hue-rotate(${h}deg) contrast(${100 + c}%)` + } + + // 图层顺序与 WCD 打包规则一致(按 zIndex,无 zIndex 按数组序兜底) + const previewStickers = hasStickers + ? design.designData!.stickers! + .map((s: any, i: number) => ({ s, z: typeof s.zIndex === 'number' ? s.zIndex : i })) + .sort((a, b) => a.z - b.z) + .map((it) => it.s) + : [] + const formatAddress = (region: string[] | undefined, detail: string) => { const regionText = region ? region.join(' ') : '' return regionText ? `${regionText} ${detail}` : detail @@ -159,13 +180,14 @@ export default function CheckoutPage() { {hasStickers ? ( - design.designData.stickers.map((s: any) => ( + previewStickers.map((s: any) => (