"use client" import { useState, useEffect } from "react" import { ChevronLeft } from "lucide-react" import { Button } from "@/components/ui/button" import { cn } from "@/lib/utils" import { BasicSettings } from "../../../new/steps/BasicSettings" import { FriendRequestSettings } from "../../../new/steps/FriendRequestSettings" import { MessageSettings } from "../../../new/steps/MessageSettings" import { TagSettings } from "../../../new/steps/TagSettings" import { useRouter } from "next/navigation" import { toast } from "@/components/ui/use-toast" const steps = [ { id: 1, title: "步骤一", subtitle: "基础设置" }, { id: 2, title: "步骤二", subtitle: "好友申请设置" }, { id: 3, title: "步骤三", subtitle: "消息设置" }, { id: 4, title: "步骤四", subtitle: "流量标签设置" }, ] export default function EditAcquisitionPlan({ params }: { params: { channel: string; id: string } }) { const router = useRouter() const [currentStep, setCurrentStep] = useState(1) const [loading, setLoading] = useState(true) const [formData, setFormData] = useState({ planName: "", accounts: [], dailyLimit: 10, enabled: true, remarkType: "phone", remarkKeyword: "", greeting: "", addFriendTimeStart: "09:00", addFriendTimeEnd: "18:00", addFriendInterval: 1, maxDailyFriends: 20, messageInterval: 1, messageContent: "", }) useEffect(() => { // 模拟从API获取计划数据 const fetchPlanData = async () => { try { // 这里应该是实际的API调用 const mockData = { planName: "测试计划", accounts: ["account1"], dailyLimit: 15, enabled: true, remarkType: "phone", remarkKeyword: "测试", greeting: "你好", addFriendTimeStart: "09:00", addFriendTimeEnd: "18:00", addFriendInterval: 2, maxDailyFriends: 25, messageInterval: 2, messageContent: "欢迎", } setFormData(mockData) setLoading(false) } catch (error) { toast({ title: "加载失败", description: "获取计划数据失败,请重试", variant: "destructive", }) setLoading(false) } } fetchPlanData() }, []) const handleSave = async () => { try { // 这里应该是实际的API调用 await new Promise((resolve) => setTimeout(resolve, 1000)) toast({ title: "保存成功", description: "获客计划已更新", }) router.push(`/scenarios/${params.channel}`) } catch (error) { toast({ title: "保存失败", description: "更新计划失败,请重试", variant: "destructive", }) } } const handlePrev = () => { setCurrentStep((prevStep) => Math.max(prevStep - 1, 1)) } const handleNext = () => { if (isStepValid()) { if (currentStep === steps.length) { handleSave() } else { setCurrentStep((prevStep) => Math.min(prevStep + 1, steps.length)) } } } const isStepValid = () => { switch (currentStep) { case 1: if (!formData.planName.trim() || formData.accounts.length === 0) { toast({ title: "请完善信息", description: "请填写计划名称并选择至少一个账号", variant: "destructive", }) return false } return true case 2: if (!formData.greeting.trim()) { toast({ title: "请完善信息", description: "请填写好友申请信息", variant: "destructive", }) return false } return true case 3: if (!formData.messageContent.trim()) { toast({ title: "请完善信息", description: "请填写消息内容", variant: "destructive", }) return false } return true case 4: return true default: return true } } if (loading) { return (
加载中...