import { useState } from "react"; import { AppstoreOutlined, CopyOutlined, EditOutlined, FileTextOutlined, FireOutlined, GlobalOutlined, MessageOutlined, SmileOutlined, ThunderboltOutlined, } from "@ant-design/icons"; export type CopywritingType = | "self-media" | "universal" | "original" | "imitate" | "wechat" | "crossborder" | "emoji" | "more"; interface CopywritingTypeOption { key: CopywritingType; label: string; icon: React.ReactNode; description: string; } const copywritingTypes: CopywritingTypeOption[] = [ { key: "self-media", label: "自媒体文案", icon: , description: "小红书/抖音/公众号风格" }, { key: "universal", label: "万能写作", icon: , description: "通用场景长文短句" }, { key: "original", label: "一键原创", icon: , description: "快速改写去重" }, { key: "imitate", label: "文案仿写", icon: , description: "参照爆款风格重写" }, { key: "wechat", label: "微信营销文案", icon: , description: "朋友圈/社群转化文案" }, { key: "crossborder", label: "跨境商品文案", icon: , description: "Amazon/Temu 卖点描述" }, { key: "emoji", label: "文案加Emoji", icon: , description: "自动插入表情符号" }, { key: "more", label: "更多场景", icon: , description: "持续更新中" }, ]; const wordCountOptions = ["不限", "100字", "300字", "500字", "800字"]; const exampleResults: Record> = { "self-media": [ { title: "超值干发神器,吸水力 MAX!", body: "家人们,我发现了一款干发帽,双层加厚吸水力超强!而且只要个位数就能到手啊!", points: [ "超强吸水力:这款干发帽采用微纤维材质,轻轻一裹,水分立马被吸走,头发快速告别湿漉漉。", "柔软亲肤:触感超级柔软,对皮肤和头发都是温柔的抚摸,不会有摩擦伤害哦。", "加厚设计:比普通干发帽更厚实,吸水效果自然更胜一筹,长发妹子的福音!", "方便携带:轻巧不占空间,不论是去健身房还是旅行,携带都毫无负担。", ], }, ], universal: [ { title: "直接抄作业!科学的减重方法必试!", body: "姐妹们冲鸭!有很多科学有效的方式可以帮助我们实现理想体重,今天就来分享一下必试的方法!", points: [ "快乐有氧运动:科学的减重方式,通过有氧运动如慢跑、游泳等,能够促进脂肪燃烧,让身体更健康!", "均衡饮食规划:摄入足够的蛋白质、蔬果以及谷物,避免过多的高糖和高脂食物,帮助达到减重目标!", "科学计算热量:了解自己每日所需的卡路里摄入量,合理安排每餐的热量搭配,控制总摄入量。", "坚持低强度运动:逐渐增加日常活动量,如步行、瑜伽等,通过持续的轻度运动,加速代谢!", "合理休息调节:不要忽视睡眠的重要性,保证每晚充足的睡眠时间,帮助恢复体力和新陈代谢。", ], }, ], original: [ { title: "原创种草|这款干发帽真的值得入!", body: "洗完头最烦的就是湿哒哒滴水?试试这条双层加厚干发帽,吸水速度真的惊艳到我。", points: [ "加厚材质,吸水更快更彻底", "柔软不勒头,长发短发都能用", "轻便好收纳,差旅党必备", "性价比超高,入手不亏", ], }, ], imitate: [ { title: "仿写爆款|让头发速干的小心机", body: "姐妹们有没有发现,最近超火的干发帽真的太好用了!轻轻一裹,几分钟头发就半干了。", points: [ "双层加厚,吸水力翻倍", "柔软亲肤,不伤发质", "小巧便携,出门也能带", "颜值在线,多色可选", ], }, ], wechat: [ { title: "朋友圈文案|个位数到手的干发神器", body: "今天必须给大家安利这个干发帽!双层加厚,吸水超强,个位数就能到手,真的不冲吗?", points: [ "微纤维材质,轻柔速干", "加厚设计,吸水更彻底", "小巧便携,旅行出差都能带", "限时好价,手慢无", ], }, ], crossborder: [ { title: "Amazon Listing|Super Absorbent Hair Turban", body: "Made with ultra-soft microfiber, this double-layer hair turban dries hair quickly while protecting delicate strands.", points: [ "Double-layer microfiber for maximum absorbency", "Gentle on hair and skin, no frizz or breakage", "Lightweight and travel-friendly design", "Secure button closure stays in place", ], }, ], emoji: [ { title: "✨个位数到手的干发神器,吸水力 MAX!", body: "家人们👋,我发现了一款超棒的干发帽💧,双层加厚吸水力超强!而且只要个位数就能到手啊🛒!", points: [ "💦 超强吸水力:微纤维材质,轻轻一裹水分吸走", "☁️ 柔软亲肤:触感温柔,不伤头发和皮肤", "🎒 方便携带:轻巧不占空间,旅行健身都能带", "💰 超值价格:个位数到手,性价比拉满", ], }, ], more: [ { title: "更多场景示例", body: "选择左侧具体文案类型即可生成对应场景内容,更多场景持续更新中。", points: ["选择合适的文案类型", "填写内容需求", "选择生成字数", "点击开始生成"], }, ], }; export interface EcommerceCopywritingPanelProps { onClose: () => void; } export default function EcommerceCopywritingPanel({ onClose }: EcommerceCopywritingPanelProps) { const [selectedType, setSelectedType] = useState("self-media"); const [requirement, setRequirement] = useState(""); const [wordCount, setWordCount] = useState("不限"); const [loading, setLoading] = useState(false); const [results, setResults] = useState([]); const handleGenerate = () => { setLoading(true); setResults([]); // 模拟生成延迟 window.setTimeout(() => { setResults(exampleResults[selectedType]); setLoading(false); }, 1200); }; const selectedTypeLabel = copywritingTypes.find((item) => item.key === selectedType)?.label ?? "文案"; return (