修复tag页面
This commit is contained in:
@@ -4,6 +4,7 @@ import (
|
||||
"context"
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"io"
|
||||
"net/http"
|
||||
"net/url"
|
||||
"sync"
|
||||
@@ -126,6 +127,13 @@ func searchDockerHub(ctx context.Context, query string, page, pageSize int) (*Se
|
||||
return nil, err
|
||||
}
|
||||
|
||||
// 添加调试日志
|
||||
fmt.Printf("搜索结果: 总数=%d, 结果数=%d\n", result.Count, len(result.Results))
|
||||
for i, repo := range result.Results {
|
||||
fmt.Printf("仓库[%d]: 名称=%s, 命名空间=%s, 描述=%s, 是否官方=%v\n",
|
||||
i, repo.Name, repo.Namespace, repo.Description, repo.IsOfficial)
|
||||
}
|
||||
|
||||
setCacheResult(cacheKey, &result)
|
||||
return &result, nil
|
||||
}
|
||||
@@ -148,27 +156,47 @@ func getRepositoryTags(ctx context.Context, namespace, name string, page, pageSi
|
||||
params.Set("page", fmt.Sprintf("%d", page))
|
||||
params.Set("page_size", fmt.Sprintf("%d", pageSize))
|
||||
|
||||
req, err := http.NewRequestWithContext(ctx, "GET", baseURL+"?"+params.Encode(), nil)
|
||||
fullURL := baseURL + "?" + params.Encode()
|
||||
fmt.Printf("请求标签URL: %s\n", fullURL)
|
||||
|
||||
req, err := http.NewRequestWithContext(ctx, "GET", fullURL, nil)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
fmt.Printf("创建标签请求失败: %v\n", err)
|
||||
return nil, fmt.Errorf("创建标签请求失败: %v", err)
|
||||
}
|
||||
|
||||
// 添加必要的请求头
|
||||
req.Header.Set("Accept", "application/json")
|
||||
req.Header.Set("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36")
|
||||
|
||||
resp, err := http.DefaultClient.Do(req)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
fmt.Printf("发送标签请求失败: %v\n", err)
|
||||
return nil, fmt.Errorf("发送标签请求失败: %v", err)
|
||||
}
|
||||
defer resp.Body.Close()
|
||||
|
||||
// 检查响应状态码
|
||||
if resp.StatusCode != http.StatusOK {
|
||||
body, _ := io.ReadAll(resp.Body)
|
||||
fmt.Printf("获取标签失败: 状态码=%d, 响应体=%s\n", resp.StatusCode, string(body))
|
||||
return nil, fmt.Errorf("获取标签失败: 状态码=%d", resp.StatusCode)
|
||||
}
|
||||
|
||||
var result struct {
|
||||
Count int `json:"count"`
|
||||
Next string `json:"next"`
|
||||
Previous string `json:"previous"`
|
||||
Results []TagInfo `json:"results"`
|
||||
}
|
||||
|
||||
if err := json.NewDecoder(resp.Body).Decode(&result); err != nil {
|
||||
return nil, err
|
||||
fmt.Printf("解析标签响应失败: %v\n", err)
|
||||
return nil, fmt.Errorf("解析标签响应失败: %v", err)
|
||||
}
|
||||
|
||||
fmt.Printf("获取到标签: 总数=%d, 结果数=%d\n", result.Count, len(result.Results))
|
||||
|
||||
setCacheResult(cacheKey, result.Results)
|
||||
return result.Results, nil
|
||||
}
|
||||
@@ -200,6 +228,10 @@ func RegisterSearchRoute(r *gin.Engine) {
|
||||
r.GET("/tags/:namespace/:name", func(c *gin.Context) {
|
||||
namespace := c.Param("namespace")
|
||||
name := c.Param("name")
|
||||
|
||||
// 打印请求参数
|
||||
fmt.Printf("获取标签请求: namespace=%s, name=%s\n", namespace, name)
|
||||
|
||||
page := 1
|
||||
pageSize := 100
|
||||
if p := c.Query("page"); p != "" {
|
||||
|
||||
Reference in New Issue
Block a user