"use client" import { useState } from "react" import { useRouter } from "next/navigation" import { ChevronLeft, Users, Target, Settings, ArrowRight, ArrowLeft, Smartphone } from "lucide-react" import { Button } from "@/components/ui/button" import { Card, CardContent, CardHeader, CardTitle, CardDescription } from "@/components/ui/card" import { Input } from "@/components/ui/input" import { Label } from "@/components/ui/label" import { Textarea } from "@/components/ui/textarea" import { RadioGroup, RadioGroupItem } from "@/components/ui/radio-group" import { Switch } from "@/components/ui/switch" import { Badge } from "@/components/ui/badge" import { TrafficPoolSelector } from "@/app/components/traffic-pool-selector" import { Checkbox } from "@/components/ui/checkbox" import { toast } from "@/components/ui/use-toast" export default function NewTrafficDistributionPage() { const router = useRouter() const [currentStep, setCurrentStep] = useState(1) const [formData, setFormData] = useState({ name: "", description: "", priority: "high", autoDistribute: true, createAsPackage: false, packagePrice: 0, allDevices: false, newDevices: false, targetDevices: [] as string[], showDeviceSelector: false, selectedPool: "", isPoolSelectorOpen: false, selectedUsers: [], }) const updateFormData = (field: string, value: any) => { setFormData((prev) => { if (field.includes(".")) { const [parent, child] = field.split(".") return { ...prev, [parent]: { ...prev[parent as keyof typeof prev], [child]: value, }, } } return { ...prev, [field]: value } }) } const handleNext = () => { if (currentStep === 1 && !formData.name) { toast({ title: "请填写规则名称", description: "规则名称为必填项", variant: "destructive", }) return } if (currentStep === 2 && !formData.allDevices && (!formData.targetDevices || formData.targetDevices.length === 0)) { toast({ title: "请选择设备", description: "请选择至少一台设备或选择所有设备", variant: "destructive", }) return } if (currentStep === 3 && !formData.selectedPool) { toast({ title: "请选择流量池", description: "请选择一个流量池进行分发", variant: "destructive", }) return } if (currentStep < 3) { setCurrentStep((prev) => prev + 1) } else { handleSubmit() } } const handleBack = () => { if (currentStep > 1) { setCurrentStep((prev) => prev - 1) } else { router.back() } } const handleSubmit = () => { toast({ title: "创建成功", description: "流量分发规则已创建", }) router.push("/workspace/traffic-distribution") } return (
启用后,系统将自动按规则分发流量;关闭则需手动触发分发
启用后,可创建为可售卖流量包并设置价格
选择特定的设备进行流量分发