Files
sionrui/frontend/app/web-gold/src/api/tikhub/README.md
2025-11-10 00:59:40 +08:00

4.5 KiB
Raw Blame History

TikHub API 模块

本模块提供了统一的 TikHub 接口调用中间层,支持多种平台的 API 接口。

目录结构

tikhub/
├── types.js      # 枚举定义InterfaceType、MethodType
├── tikhub.js     # 核心服务类 TikhubService
├── index.js      # 统一导出入口
├── example.js    # 使用示例
└── README.md     # 本文档

快速开始

1. 导入模块

import TikhubService, { InterfaceType, MethodType } from '@/api/tikhub'

2. 调用接口

// 调用抖音热门搜索接口
const response = await TikhubService.postTikHup(
  InterfaceType.DOUYIN_WEB_HOT_SEARCH,  // 接口类型
  MethodType.GET,                        // HTTP 方法
  { keyword: '测试关键词' }              // 实际接口参数
)

API 说明

TikhubService.postTikHup(type, methodType, urlParams)

统一调用 TikHub 接口的中间层方法。

参数:

  • type (String) - 接口类型,使用 InterfaceType 枚举值
  • methodType (String) - HTTP 方法类型,使用 MethodType 枚举值
  • urlParams (Object|String) - 实际接口的参数

返回:

  • Promise - axios 响应对象

示例:

// 获取小红书热门榜单
await TikhubService.postTikHup(
  InterfaceType.XIAOHONGSHU_WEB_HOT_LIST,
  MethodType.GET,
  { page: 1, page_size: 20 }
)

// 搜索抖音内容
await TikhubService.postTikHup(
  InterfaceType.DOUYIN_GENERAL_SEARCH_V4,
  MethodType.POST,
  {
    keyword: '热门内容',
    sort_type: 0,
    publish_time: 0,
  }
)

枚举说明

InterfaceType - 接口类型

支持的所有接口类型:

枚举值 说明
XIAOHONGSHU_USER_INFO 小红书 - 获取用户信息
DOUYIN_WEB_USER_POST_VIDEOS 抖音 - 网页端获取用户发布的视频
DOUYIN_APP_USER_POST_VIDEOS 抖音 - APP端V3获取用户发布的视频
DOUYIN_APP_GENERAL_SEARCH 抖音 - APP端V3通用搜索结果
DOUYIN_SEARCH_SUGGEST 抖音 - 搜索建议
DOUYIN_GENERAL_SEARCH_V4 抖音 - 通用搜索V4
XIAOHONGSHU_WEB_HOT_LIST 小红书 - 网页端V2热门榜单
DOUYIN_WEB_HOT_SEARCH 抖音 - 网页端热门搜索结果
KUAISHOU_WEB_HOT_LIST 快手 - 网页端热门榜单V2
BILIBILI_WEB_POPULAR B站 - 网页端流行内容
WEIBO_WEB_HOT_SEARCH 微博 - 网页端V2热门搜索指数
DOUYIN_WEB_GENERAL_SEARCH 抖音 - 网页端通用搜索结果

MethodType - HTTP 方法

枚举值 说明
GET GET 请求
POST POST 请求
PUT PUT 请求
DELETE DELETE 请求
PATCH PATCH 请求

使用示例

详细的使用示例请参考 example.js 文件。

示例 1获取抖音热门搜索

import TikhubService, { InterfaceType, MethodType } from '@/api/tikhub'

async function getDouyinHotSearch() {
  try {
    const response = await TikhubService.postTikHup(
      InterfaceType.DOUYIN_WEB_HOT_SEARCH,
      MethodType.GET,
      { keyword: '测试关键词' }
    )
    return response
  } catch (error) {
    console.error('调用失败:', error)
    throw error
  }
}

示例 2获取用户发布的视频

async function getUserVideos() {
  return await TikhubService.postTikHup(
    InterfaceType.DOUYIN_WEB_USER_POST_VIDEOS,
    MethodType.GET,
    {
      sec_user_id: 'MS4wLjABAAAxxxxxxxx',
      count: 20,
      max_cursor: 0,
    }
  )
}

错误处理

try {
  const response = await TikhubService.postTikHup(
    InterfaceType.DOUYIN_WEB_HOT_SEARCH,
    MethodType.GET,
    { keyword: '测试' }
  )
  console.log('成功:', response)
} catch (error) {
  if (error.message.includes('无效的接口类型')) {
    console.error('接口类型错误')
  } else {
    console.error('请求失败:', error.message)
  }
}

后端接口格式

本模块会调用后端接口 /webApi/admin-api/ai/tikHup/post_tik_hup,传递的参数格式为:

{
  "interface_type": "8",
  "method_type": "GET",
  "platform_url": "https://api.tikhub.io/api/v1/douyin/web/fetch_hot_search_result",
  "url_params": { "keyword": "测试" }
}

注意事项

  1. 所有接口类型必须使用 InterfaceType 枚举,不能使用字符串数字
  2. HTTP 方法必须使用 MethodType 枚举
  3. urlParams 可以是对象或字符串,取决于实际接口的要求
  4. 后端会根据 interface_type 从数据库中获取对应的 platform_token