🔗 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。