✅ HasFunding
检查当前项目中是否存在任何声明了资金支持(funding)的包。
何时使用
当你要决定是否在应用界面、CLI 提示或 CI 流程中展示「资助作者」入口时使用,避免在没有可资助包时显示空板块。
签名
go
func (c *Composer) HasFunding() (bool, error)参数
该方法不接受任何参数。
返回值
bool:存在可资助包时为true,否则为false。error:执行composer fund --format=text失败时返回相应错误信息。
示例
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)
}
has, err := comp.HasFunding()
if err != nil {
log.Fatalf("检查资金支持失败: %v", err)
}
if has {
fmt.Println("存在可资助的包,可运行 composer fund 查看详情")
} else {
fmt.Println("项目中没有可资助的包")
}
}进阶
- 判断逻辑:若
composer fund --format=text输出包含No funding则返回false。 - 需要具体链接时用
GetFundingURLs,需要结构化明细用FundWithJSON,纯文本输出用Fund。