4.5 KiB
4.5 KiB
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": "测试" }
}
注意事项
- 所有接口类型必须使用
InterfaceType枚举,不能使用字符串数字 - HTTP 方法必须使用
MethodType枚举 urlParams可以是对象或字符串,取决于实际接口的要求- 后端会根据
interface_type从数据库中获取对应的platform_token