📈 GetStatistics
获取 Packagist 仓库的整体统计信息:总下载量、包总数、版本总数。
何时使用
📊 在仪表盘展示 Packagist 生态规模;🧭 评估自建镜像相对官方仓库的覆盖度;📅 定期记录总量变化趋势。
签名
go
func (c *ComposerClient) GetStatistics() (*domain.StatisticsResponse, error)参数
本方法无参数。
返回值
| 值 | 类型 | 说明 |
|---|---|---|
| 结果 | *domain.StatisticsResponse | Totals 含 Downloads(int64)、Packages、Versions |
| 错误 | error | HTTP 失败、非 200、JSON 解析失败时返回 |
对应端点:GET https://packagist.org/statistics.json。
示例
go
package main
import (
"fmt"
"log"
"time"
"github.com/scagogogo/composer-skills/pkg/client"
)
func main() {
c := client.NewComposerClient(30 * time.Second)
stats, err := c.GetStatistics()
if err != nil {
log.Fatal(err)
}
fmt.Printf("总下载量: %d\n", stats.Totals.Downloads)
fmt.Printf("包总数: %d\n", stats.Totals.Packages)
fmt.Printf("版本总数: %d\n", stats.Totals.Versions)
}进阶
- 📊 单包下载统计用
GetPackageStats。 - 📦 包名全集用
ListPackages。 - 🔥 流行包排行用
ListPopularPackages。