Files
own-tools/pkg/base/tool.go
T
2026-02-24 22:47:17 -08:00

23 lines
639 B
Go

package base
import (
"github.com/gin-gonic/gin"
)
// Tool 定义了工具箱中每个子工具必须实现的接口
type Tool interface {
ID() string // 工具的唯一标识,用于路由前缀,如 "zitie"
Name() string // 工具的显示名称
Description() string // 工具的描述
Init() error // 初始化逻辑,如加载 embed 的数据
RegisterRoutes(r *gin.RouterGroup) // 注册该工具的 API 路由
}
// Registry 存储所有已注册的工具
var Registry = make(map[string]Tool)
// Register 用于工具在 init() 函数中注册自己
func Register(t Tool) {
Registry[t.ID()] = t
}