"use client" import type React from "react" import { useState } from "react" import { Button } from "@/components/ui/button" import { Input } from "@/components/ui/input" import { Label } from "@/components/ui/label" import { RadioGroup, RadioGroupItem } from "@/components/ui/radio-group" import { Badge } from "@/components/ui/badge" import { X, Plus } from "lucide-react" import { Tabs, TabsContent, TabsList, TabsTrigger } from "@/components/ui/tabs" interface AnalysisSettingsProps { formData: any updateFormData: (data: any) => void onNext: () => void onBack: () => void } export function AnalysisSettings({ formData, updateFormData, onNext, onBack }: AnalysisSettingsProps) { const [analysisType, setAnalysisType] = useState(formData.analysisType || "both") const [keyword, setKeyword] = useState("") const [promptWord, setPromptWord] = useState("") const [keywords, setKeywords] = useState(formData.keywords || []) const [promptWords, setPromptWords] = useState(formData.promptWords || []) const [activeTab, setActiveTab] = useState("friends") const handleAddKeyword = () => { if (keyword.trim() && !keywords.includes(keyword.trim())) { const newKeywords = [...keywords, keyword.trim()] setKeywords(newKeywords) updateFormData({ keywords: newKeywords }) setKeyword("") } } const handleRemoveKeyword = (index: number) => { const newKeywords = keywords.filter((_, i) => i !== index) setKeywords(newKeywords) updateFormData({ keywords: newKeywords }) } const handleAddPromptWord = () => { if (promptWord.trim() && !promptWords.includes(promptWord.trim())) { const newPromptWords = [...promptWords, promptWord.trim()] setPromptWords(newPromptWords) updateFormData({ promptWords: newPromptWords }) setPromptWord("") } } const handleRemovePromptWord = (index: number) => { const newPromptWords = promptWords.filter((_, i) => i !== index) setPromptWords(newPromptWords) updateFormData({ promptWords: newPromptWords }) } const handleTypeChange = (value: string) => { setAnalysisType(value) updateFormData({ analysisType: value }) } const handleKeyDown = (e: React.KeyboardEvent, type: "keyword" | "prompt") => { if (e.key === "Enter") { e.preventDefault() if (type === "keyword") { handleAddKeyword() } else { handleAddPromptWord() } } } const handleContinue = () => { updateFormData({ analysisType, keywords, promptWords, }) onNext() } const suggestedKeywords = ["美妆", "护肤", "彩妆", "健身", "教育", "培训", "金融", "投资", "旅游", "美食"] const suggestedPrompts = ["人群属性", "喜好分析", "消费能力", "兴趣爱好", "活跃度", "社交特征"] return (

设置分析内容

选择分析类型并设置关键词和提示词

分析微信号下所有好友的昵称及微信信息,基于指定用户词进行筛选分析

运用AI技术对所有用户朋友圈内容进行分析,通过提示词辅助深入剖析用户类型

同时分析好友信息和朋友圈内容,获得更全面的数据洞察

好友分析设置 朋友圈分析设置

设置用于筛选好友的关键词,例如"美妆"将筛选出昵称或微信信息中与美妆相关的好友

setKeyword(e.target.value)} onKeyDown={(e) => handleKeyDown(e, "keyword")} placeholder="输入关键词并回车" className="flex-1" />
{keywords.length > 0 && (
{keywords.map((kw, index) => ( {kw} ))}
)}

推荐关键词:

{suggestedKeywords.map((kw) => ( { if (!keywords.includes(kw)) { const newKeywords = [...keywords, kw] setKeywords(newKeywords) updateFormData({ keywords: newKeywords }) } }} > {kw} ))}

设置辅助AI分析的提示词,如"人群属性"、"喜好分析"等,帮助深入剖析用户类型

setPromptWord(e.target.value)} onKeyDown={(e) => handleKeyDown(e, "prompt")} placeholder="输入提示词并回车" className="flex-1" />
{promptWords.length > 0 && (
{promptWords.map((pw, index) => ( {pw} ))}
)}

推荐提示词:

{suggestedPrompts.map((pw) => ( { if (!promptWords.includes(pw)) { const newPromptWords = [...promptWords, pw] setPromptWords(newPromptWords) updateFormData({ promptWords: newPromptWords }) } }} > {pw} ))}
) }