"use client" import { Dialog, DialogContent, DialogDescription, DialogHeader, DialogTitle } from "@/components/ui/dialog" import { Button } from "@/components/ui/button" import { Badge } from "@/components/ui/badge" import { Tabs, TabsContent, TabsList, TabsTrigger } from "@/components/ui/tabs" import { ScrollArea } from "@/components/ui/scroll-area" import { Code, Copy, ExternalLink } from "lucide-react" interface APIDocDialogProps { open: boolean onOpenChange: (open: boolean) => void api?: { name: string endpoint: string method: string description: string } } export function APIDocDialog({ open, onOpenChange, api }: APIDocDialogProps) { const copyToClipboard = (text: string) => { navigator.clipboard.writeText(text) } return ( API文档 - {api?.name || "API服务"} {api?.description}
{api?.method || "GET"} {api?.endpoint || "/api/v1/example"}
请求参数 响应格式 示例代码 错误码
参数名 类型 必填 说明
user_id string 用户唯一标识
fields array 需要返回的字段列表
include_tags boolean 是否包含标签信息, 默认 true
                {`{
  "code": 0,
  "message": "success",
  "data": {
    "user_id": "u_123456",
    "name": "张三",
    "phone": "138****5678",
    "email": "zhang***@example.com",
    "tags": ["高价值", "活跃用户", "VIP"],
    "portrait": {
      "age_group": "25-35",
      "gender": "male",
      "city": "上海",
      "consumption_level": "high"
    },
    "value_score": {
      "rfm_score": 85,
      "ltv": 12580,
      "churn_risk": 0.12
    }
  }
}`}
              

cURL

                    {`curl -X GET "https://api.shenshoushou.com/api/v1/user/portrait?user_id=u_123456" \\
  -H "Authorization: Bearer YOUR_API_KEY" \\
  -H "Content-Type: application/json"`}
                  

JavaScript

                    {`const response = await fetch(
  "https://api.shenshoushou.com/api/v1/user/portrait?user_id=u_123456",
  {
    headers: {
      "Authorization": "Bearer YOUR_API_KEY",
      "Content-Type": "application/json"
    }
  }
);
const data = await response.json();`}
                  
错误码 说明 解决方案
400 参数错误 检查请求参数格式
401 未授权 检查API Key是否正确
404 用户不存在 确认用户ID是否正确
429 请求频率超限 降低请求频率或升级配额
500 服务器内部错误 联系技术支持
) }