From 57a3caa4d53e76d6b9b6fbf991f0909218ca3ed8 Mon Sep 17 00:00:00 2001 From: wong <106998207@qq.com> Date: Wed, 14 May 2025 17:27:18 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90=E6=93=8D=E7=9B=98=E6=89=8B=E3=80=91?= =?UTF-8?q?=20=E8=87=AA=E5=8A=A8=E7=82=B9=E8=B5=9E=E5=A4=84=E7=90=86?= =?UTF-8?q?=E9=80=89=E6=8B=A9=E5=A5=BD=E5=8F=8B=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Cunkebao/app/workspace/auto-like/new/page.tsx | 53 ++++++++++++++----- 1 file changed, 41 insertions(+), 12 deletions(-) diff --git a/Cunkebao/app/workspace/auto-like/new/page.tsx b/Cunkebao/app/workspace/auto-like/new/page.tsx index 42375ea6..52dea47e 100644 --- a/Cunkebao/app/workspace/auto-like/new/page.tsx +++ b/Cunkebao/app/workspace/auto-like/new/page.tsx @@ -2,7 +2,7 @@ import { useState } from "react" import { useRouter } from "next/navigation" -import { ChevronLeft, Search } from "lucide-react" +import { ChevronLeft, Search, Users } from "lucide-react" import { Button } from "@/components/ui/button" import { Input } from "@/components/ui/input" import { StepIndicator } from "../components/step-indicator" @@ -11,11 +11,14 @@ import { DeviceSelectionDialog } from "../components/device-selection-dialog" import { TagSelector } from "../components/tag-selector" import { api, ApiResponse } from "@/lib/api" import { showToast } from "@/lib/toast" +import { WechatFriendSelector, WechatFriend } from "@/components/WechatFriendSelector" export default function NewAutoLikePage() { const router = useRouter() const [currentStep, setCurrentStep] = useState(1) const [deviceDialogOpen, setDeviceDialogOpen] = useState(false) + const [isFriendSelectorOpen, setIsFriendSelectorOpen] = useState(false) + const [selectedFriends, setSelectedFriends] = useState([]) const [formData, setFormData] = useState({ taskName: "", likeInterval: 5, // 默认5秒 @@ -26,6 +29,7 @@ export default function NewAutoLikePage() { selectedDevices: [] as number[], selectedTags: [] as string[], tagOperator: "and" as "and" | "or", + friends: [] as string[], }) const handleUpdateFormData = (data: Partial) => { @@ -40,6 +44,21 @@ export default function NewAutoLikePage() { setCurrentStep((prev) => Math.max(prev - 1, 1)) } + const handleSelectFriends = () => { + if (formData.selectedDevices.length === 0) { + showToast("请先选择设备", "error") + return + } + setIsFriendSelectorOpen(true) + } + + const handleSaveSelectedFriends = (friends: WechatFriend[]) => { + const ids = friends.map(f => f.id) + setSelectedFriends(friends) + handleUpdateFormData({ friends: ids }) + setIsFriendSelectorOpen(false) + } + const handleComplete = async () => { try { const response = await api.post('/v1/workbench/create', { @@ -52,8 +71,7 @@ export default function NewAutoLikePage() { contentTypes: formData.contentTypes, enabled: formData.enabled, devices: formData.selectedDevices, - targetGroups: formData.selectedTags, - tagOperator: formData.tagOperator === 'and' ? 1 : 2 + friends: formData.friends, }); if (response.code === 200) { @@ -131,15 +149,19 @@ export default function NewAutoLikePage() { {currentStep === 3 && (
- handleUpdateFormData({ selectedTags: tags })} - onOperatorChange={(operator) => handleUpdateFormData({ tagOperator: operator })} - onBack={handlePrev} - onComplete={handleComplete} - /> - +
+ + 0 ? `已选择 ${formData.friends.length} 个好友` : ""} + /> +
+ {formData.friends.length > 0 && ( +
已选好友:{formData.friends.length} 个
+ )}
+
)}