"use client" import { useState } from "react" import { useRouter } from "next/navigation" import { ChevronLeft, Search } from "lucide-react" import { Button } from "@/components/ui/button" import { Input } from "@/components/ui/input" import { StepIndicator } from "../components/step-indicator" import { BasicSettings } from "../components/basic-settings" import { DeviceSelectionDialog } from "../components/device-selection-dialog" import { TagSelector } from "../components/tag-selector" import { api, ApiResponse } from "@/lib/api" import { showToast } from "@/lib/toast" export default function NewAutoLikePage() { const router = useRouter() const [currentStep, setCurrentStep] = useState(1) const [deviceDialogOpen, setDeviceDialogOpen] = useState(false) const [formData, setFormData] = useState({ taskName: "", likeInterval: 5, // 默认5秒 maxLikesPerDay: 200, // 默认200次 timeRange: { start: "08:00", end: "22:00" }, contentTypes: ["text", "image", "video"], enabled: true, selectedDevices: [] as number[], selectedTags: [] as string[], tagOperator: "and" as "and" | "or", }) const handleUpdateFormData = (data: Partial) => { setFormData((prev) => ({ ...prev, ...data })) } const handleNext = () => { setCurrentStep((prev) => Math.min(prev + 1, 3)) } const handlePrev = () => { setCurrentStep((prev) => Math.max(prev - 1, 1)) } const handleComplete = async () => { try { const response = await api.post('/v1/workbench/create', { type: 1, name: formData.taskName, interval: formData.likeInterval, maxLikes: formData.maxLikesPerDay, startTime: formData.timeRange.start, endTime: formData.timeRange.end, contentTypes: formData.contentTypes, enabled: formData.enabled, devices: formData.selectedDevices, targetGroups: formData.selectedTags, tagOperator: formData.tagOperator === 'and' ? 1 : 2 }); if (response.code === 200) { showToast(response.msg, "success"); router.push("/workspace/auto-like"); } else { showToast(response.msg || "请稍后再试", "error"); } } catch (error: any) { console.error("创建自动点赞任务失败:", error); showToast(error?.message || "请检查网络连接或稍后再试", "error"); } }; return (

新建自动点赞

{currentStep === 1 && ( )} {currentStep === 2 && (
setDeviceDialogOpen(true)} readOnly value={formData.selectedDevices.length > 0 ? `已选择 ${formData.selectedDevices.length} 个设备` : ""} />
{formData.selectedDevices.length > 0 && (
已选设备:{formData.selectedDevices.length} 个
)}
{ handleUpdateFormData({ selectedDevices: devices }) setDeviceDialogOpen(false) }} />
)} {currentStep === 3 && (
handleUpdateFormData({ selectedTags: tags })} onOperatorChange={(operator) => handleUpdateFormData({ tagOperator: operator })} onBack={handlePrev} onComplete={handleComplete} />
)}
) }