53 lines
1.8 KiB
Python
53 lines
1.8 KiB
Python
#!/usr/bin/env python3
|
|
"""测试前端API调用"""
|
|
|
|
import sys
|
|
import os
|
|
sys.path.append(os.path.dirname(os.path.abspath(__file__)))
|
|
|
|
import requests
|
|
|
|
def test_api():
|
|
"""测试API"""
|
|
try:
|
|
# 调用算法列表API
|
|
response = requests.get('http://localhost:8001/api/v1/algorithms/')
|
|
|
|
if response.status_code == 200:
|
|
data = response.json()
|
|
algorithms = data.get('algorithms', [])
|
|
|
|
print(f"成功获取 {len(algorithms)} 个算法\n")
|
|
|
|
# 检查每个算法的字段
|
|
for algo in algorithms:
|
|
print(f"算法: {algo['name']}")
|
|
print(f" 技术分类: {algo.get('tech_category', 'N/A')}")
|
|
print(f" 输出类型: {algo.get('output_type', 'N/A')}")
|
|
print()
|
|
|
|
# 测试筛选
|
|
print("测试筛选功能:")
|
|
|
|
# 按技术分类筛选
|
|
cv_algorithms = [a for a in algorithms if a.get('tech_category') == 'computer_vision']
|
|
print(f" 计算机视觉算法: {len(cv_algorithms)} 个")
|
|
|
|
# 按输出类型筛选
|
|
image_algorithms = [a for a in algorithms if a.get('output_type') == 'image']
|
|
print(f" 图片输出算法: {len(image_algorithms)} 个")
|
|
|
|
# 按名称搜索
|
|
search_results = [a for a in algorithms if '视频' in a.get('name', '')]
|
|
print(f" 包含'视频'的算法: {len(search_results)} 个")
|
|
|
|
else:
|
|
print(f"API调用失败: {response.status_code}")
|
|
print(response.text)
|
|
|
|
except Exception as e:
|
|
print(f"测试失败: {e}")
|
|
sys.exit(1)
|
|
|
|
if __name__ == "__main__":
|
|
test_api() |