package tools import "github.com/gogf/gf/v2/util/gconv" // 标准入参读取。LLM/外部传入的 map[string]any 中数值可能是 float64、int 或字符串, // 直接类型断言极易静默失败,统一走 gconv 强转。 // HasArg 判断参数是否存在且非 nil func HasArg(args map[string]any, key string) bool { v, ok := args[key] return ok && v != nil } // ArgString 读取字符串参数 func ArgString(args map[string]any, key string) string { return gconv.String(args[key]) } // ArgInt 读取整数参数(自动兼容 float64/int/字符串) func ArgInt(args map[string]any, key string) int { return gconv.Int(args[key]) } // ArgFloat64 读取浮点参数 func ArgFloat64(args map[string]any, key string) float64 { return gconv.Float64(args[key]) } // ArgBool 读取布尔参数 func ArgBool(args map[string]any, key string) bool { return gconv.Bool(args[key]) } // ArgSlice 读取切片参数 func ArgSlice(args map[string]any, key string) []any { return gconv.SliceAny(args[key]) } // ArgStrings 读取字符串切片参数 func ArgStrings(args map[string]any, key string) []string { return gconv.Strings(args[key]) } // ArgMap 读取对象参数 func ArgMap(args map[string]any, key string) map[string]any { return gconv.Map(args[key]) }