Skip to content

🔗 GetFundingURLs

获取项目中所有声明了资金支持的包及其捐赠 URL,返回包名到 URL 列表的映射。

何时使用

当你要在仪表盘、README 生成器或资助提示组件中聚合所有可资助链接时使用。它只返回 Funding=true 且有 URLs 的包。

签名

go
func (c *Composer) GetFundingURLs() (map[string][]string, error)

参数

该方法不接受任何参数。

返回值

  • map[string][]string:包名到资金 URL 数组的映射。若无任何包声明资金支持,返回空映射(非 nil)。
  • error:底层 FundWithJSON 执行或解析失败时返回相应错误信息。

示例

go
package main

import (
	"fmt"
	"log"

	"github.com/scagogogo/composer-skills/pkg/composer"
)

func main() {
	comp, err := composer.New(composer.DefaultOptions())
	if err != nil {
		log.Fatalf("初始化失败: %v", err)
	}

	urls, err := comp.GetFundingURLs()
	if err != nil {
		log.Fatalf("获取资金 URL 失败: %v", err)
	}

	if len(urls) == 0 {
		fmt.Println("没有可资助的包")
		return
	}

	for pkg, links := range urls {
		fmt.Printf("%s:\n", pkg)
		for _, u := range links {
			fmt.Printf("  - %s\n", u)
		}
	}
}

进阶

  • 实现基于 FundWithJSON,过滤掉 Funding=false 或无 URL 的项。
  • 只判断是否有资金用 HasFunding,原始文本输出用 Fund

基于 MIT 许可证发布