Skip to main content

cli

实例名实例描述
uiPosDefault(cli.UISchemaFieldClassName) ""
uiPosHorizontal(cli.UISchemaFieldClassName) "json-schema-row-form"
uiWidgetCheckbox(cli.UISchemaWidgetType) "checkbox"
uiWidgetFile(cli.UISchemaWidgetType) "file"
uiWidgetFiles(cli.UISchemaWidgetType) "files"
uiWidgetFolder(cli.UISchemaWidgetType) "folder"
uiWidgetPassword(cli.UISchemaWidgetType) "password"
uiWidgetRadio(cli.UISchemaWidgetType) "radio"
uiWidgetSelect(cli.UISchemaWidgetType) "select"
uiWidgetTextarea(cli.UISchemaWidgetType) "textarea"
uiWidgetUpdown(cli.UISchemaWidgetType) "updown"
函数名函数描述/介绍
cli.Args
cli.BoolBool 获取对应名称的命令行参数,并将其转换为 bool 类型返回
cli.DoubleDouble 获取对应名称的命令行参数,并将其转换为 float 类型返回
cli.FileFile 获取对应名称的命令行参数,根据其传入的值读取其对应文件内容并返回 []byte 类型
cli.FileNamesFileNames 获取对应名称的命令行参数,获得选中的所有文件路径,并返回 []string 类型
cli.FileOrContentFileOrContent 获取对应名称的命令行参数 根据其传入的值尝试读取其对应文件内容,如果无法读取则直接返回,最后返回 []byte 类型
cli.FloatFloat 获取对应名称的命令行参数,并将其转换为 float 类型返回
cli.FolderNameFolderName 获取对应名称的命令行参数,获得选中的文件夹路径,并返回 string 类型
cli.HTTPPacketHTTPPacket 获取对应名称的命令行参数,并将其转换为 string 类型返回 其作为一个独立脚本运行时与 cli.String 没有区别,仅在 Yakit 图形化中展示为 HTTP 报文形式
cli.HaveHave 获取对应名称的命令行参数,并将其转换为 bool 类型返回
cli.HostHost 获取对应名称的命令行参数,根据","切割并尝试解析CIDR网段并返回 []string 类型
cli.HostsHosts 获取对应名称的命令行参数,根据","切割并尝试解析CIDR网段并返回 []string 类型
cli.IntInt 获取对应名称的命令行参数,并将其转换为 int 类型返回
cli.IntSliceIntSlice 获取对应名称的命令行参数,将其字符串根据","切割并尝试转换为 int 类型返回 []int 类型
cli.IntegerInteger 获取对应名称的命令行参数,并将其转换为 int 类型返回
cli.JsonJson 获取对应名称的命令行参数, 与cli.JsonSchema一起使用以构建复杂参数 详情参考: 1. https://json-schema.org/docs 2. https://rjsf-team.github.io/react-jsonschema-form/
cli.LineDictLineDict 获取对应名称的命令行参数 根据其传入的值尝试读取其对应文件内容,如果无法读取则作为字符串,最后根据换行符切割,返回 []string 类型
cli.NetNet 获取对应名称的命令行参数,根据","切割并尝试解析CIDR网段并返回 []string 类型
cli.NetworkNetWork 获取对应名称的命令行参数,根据","切割并尝试解析CIDR网段并返回 []string 类型
cli.PortPort 获取对应名称的命令行参数,根据","与"-"切割并尝试解析端口并返回 []int 类型
cli.PortsPorts 获取对应名称的命令行参数,根据","与"-"切割并尝试解析端口并返回 []int 类型
cli.SetCliNameSetCliName 设置此命令行程序的名称 这会在命令行输入 --help 或执行cli.check()后参数非法时显示
cli.SetDocSetDoc 设置此命令行程序的文档 这会在命令行输入 --help 或执行cli.check()后参数非法时显示
cli.StringString 获取对应名称的命令行参数,并将其转换为 string 类型返回
cli.StringSliceStringSlice 获取对应名称的命令行参数,将其字符串根据","切割返回 []string 类型
cli.TextText 获取对应名称的命令行参数,并将其转换为 string 类型返回 其作为一个独立脚本运行时与 cli.String 没有区别,仅在 Yakit 图形化中展示为文本框形式
cli.UI
cli.UrlUrl 获取对应名称的命令行参数,根据","切割并尝试将其转换为符合URL格式并返回 []string 类型
cli.UrlsUrls 获取对应名称的命令行参数,根据","切割并尝试将其转换为符合URL格式并返回 []string 类型
cli.YakCodeYakCode 获取对应名称的命令行参数,并将其转换为 string 类型返回 其作为一个独立脚本运行时与 cli.String 没有区别,仅在 Yakit 图形化中展示为 Yak 代码形式
cli.YakitPluginYakitPlugin 获取名称为 yakit-plugin-file 的命令行参数 根据其传入的值读取其对应文件内容并根据"
cli.checkcheck 用于检查命令行参数是否合法,这主要检查必要参数是否传入与传入值是否合法
cli.helphelp 用于输出命令行程序的帮助信息
cli.hideGroup
cli.hideParams
cli.setCliGroupsetCliGroup 是一个选项函数,设置参数的分组
cli.setDefaultsetDefault 是一个选项函数,设置参数的默认值
cli.setHelpsetHelp 是一个选项函数,设置参数的帮助信息 这会在命令行输入 --help 或执行cli.check()后参数非法时显示
cli.setJsonSchemasetJsonSchema 是一个选项参数,用于在cli.Json中使用JsonSchema构建复杂参数 详情参考: 1. https://json-schema.org/docs 2. https://rjsf-team.github.io/react-jsonschema-form/
cli.setMultipleSelectSetMultipleSelect 是一个选项函数,设置参数是否可以多选 此选项仅在cli.StringSlice中生效
cli.setPluginEnvsetPluginEnv 是一个选项函数,设置参数从插件环境中取值
cli.setRequiredsetRequired 是一个选项函数,设置参数是否必须
cli.setSelectOptionsetSelectOption 是一个选项函数,设置参数的下拉框选项 此选项仅在cli.StringSlice中生效
cli.setShortNamesetShortName 是一个选项函数,设置参数的短名称
cli.setUISchemasetUISchema 是一个选项参数,用于对JsonSchema设置的参数进行图形化的调整 详情参考: 1. https://json-schema.org/docs 2. https://rjsf-team.github.io/react-jsonschema-form/ 3. https://...
cli.setVerboseNamesetVerboseName 是一个选项函数,设置参数的中文名
cli.setYakitPayloadsetYakitPayload 是一个选项函数,设置参数建议值为Yakit payload的字典名列表
cli.showGroup
cli.showParams
cli.uiFielduiField 是一个选项参数,用于指定UISchema中的一个字段 第一个参数指定字段名 第二个参数指定这个字段所占的宽度比(0.0-1.0) 接下来可以接收零个到多个选项,用于对此字段进行其他的设置,例如内嵌分组(cli.uiFieldGroups)或者指定其部件(cli.uiFieldWidg...
cli.uiFieldComponentStyleuiFieldComponentStyle 是一个选项参数,用于指定UISchema中的CSS样式
cli.uiFieldGroupsuiFieldGroups 是一个选项参数,用于设置UISchema中字段的嵌套组
cli.uiFieldPositionuiFieldPosition 是一个选项参数,用于指定UISchema中的字段位置,默认为垂直排列
cli.uiFieldWidgetuiFieldWidget 是一个选项参数,用于指定UISchema中的字段使用的组件
cli.uiGlobalFieldPositionuiGlobalFieldPosition 是一个选项参数,用于指定UISchema中全局的字段位置,默认为垂直排列
cli.uiGroupuiGroup 是一个选项参数,用于指定UISchema中的一个分组,接收多个字段(cli.Field),同一分组的字段会放在一行
cli.uiGroupsuiGroups 是一个选项参数,用于指定UISchema中的字段整体分组,接受多个分组(cli.uiGroup)
cli.when
cli.whenDefault
cli.whenEqual
cli.whenFalse
cli.whenNotEqual
cli.whenTrue

函数定义#

Args#

详细描述#

定义#

Args() []string

返回值#

返回值(顺序)返回值类型返回值解释
r1[]string

Bool#

详细描述#

Bool 获取对应名称的命令行参数,并将其转换为 bool 类型返回 Example:

verbose = cli.Bool("verbose") // --verbose 则为true

定义#

Bool(name string, opts ...SetCliExtraParam) bool

参数#

参数名参数类型参数解释
namestring
opts...SetCliExtraParam

返回值#

返回值(顺序)返回值类型返回值解释
r1bool

Double#

详细描述#

Double 获取对应名称的命令行参数,并将其转换为 float 类型返回 Example:

percent = cli.Double("percent") // --percent 0.5 则 percent 为 0.5

定义#

Double(name string, opts ...SetCliExtraParam) float64

参数#

参数名参数类型参数解释
namestring
opts...SetCliExtraParam

返回值#

返回值(顺序)返回值类型返回值解释
r1float64

File#

详细描述#

File 获取对应名称的命令行参数,根据其传入的值读取其对应文件内容并返回 []byte 类型 Example:

file = cli.File("file")// --file /etc/passwd 则 file 为 /etc/passwd 文件中的内容

定义#

File(name string, opts ...SetCliExtraParam) []byte

参数#

参数名参数类型参数解释
namestring
opts...SetCliExtraParam

返回值#

返回值(顺序)返回值类型返回值解释
r1[]byte

FileNames#

详细描述#

FileNames 获取对应名称的命令行参数,获得选中的所有文件路径,并返回 []string 类型 Example:

file = cli.FileNames("file")// --file /etc/passwd,/etc/hosts 则 file 为 ["/etc/passwd", "/etc/hosts"]

定义#

FileNames(name string, opts ...SetCliExtraParam) []string

参数#

参数名参数类型参数解释
namestring
opts...SetCliExtraParam

返回值#

返回值(顺序)返回值类型返回值解释
r1[]string

FileOrContent#

详细描述#

FileOrContent 获取对应名称的命令行参数 根据其传入的值尝试读取其对应文件内容,如果无法读取则直接返回,最后返回 []byte 类型 Example:

foc = cli.FileOrContent("foc")// --foc /etc/passwd 则 foc 为 /etc/passwd 文件中的内容// --file "asd" 则 file 为 "asd"

定义#

FileOrContent(name string, opts ...SetCliExtraParam) []byte

参数#

参数名参数类型参数解释
namestring
opts...SetCliExtraParam

返回值#

返回值(顺序)返回值类型返回值解释
r1[]byte

Float#

详细描述#

Float 获取对应名称的命令行参数,并将其转换为 float 类型返回 Example:

percent = cli.Float("percent") // --percent 0.5 则 percent 为 0.5

定义#

Float(name string, opts ...SetCliExtraParam) float64

参数#

参数名参数类型参数解释
namestring
opts...SetCliExtraParam

返回值#

返回值(顺序)返回值类型返回值解释
r1float64

FolderName#

详细描述#

FolderName 获取对应名称的命令行参数,获得选中的文件夹路径,并返回 string 类型 Example:

folder = cli.FolderName("folder")// --folder /etc 则 folder 为 "/etc"

定义#

FolderName(name string, opts ...SetCliExtraParam) string

参数#

参数名参数类型参数解释
namestring
opts...SetCliExtraParam

返回值#

返回值(顺序)返回值类型返回值解释
r1string

HTTPPacket#

详细描述#

HTTPPacket 获取对应名称的命令行参数,并将其转换为 string 类型返回 其作为一个独立脚本运行时与 cli.String 没有区别,仅在 Yakit 图形化中展示为 HTTP 报文形式 Example:

target = cli.HTTPPacket("target") // --target yaklang.com 则 target 为 yaklang.com

定义#

HTTPPacket(name string, opts ...SetCliExtraParam) string

参数#

参数名参数类型参数解释
namestring
opts...SetCliExtraParam

返回值#

返回值(顺序)返回值类型返回值解释
r1string

Have#

详细描述#

Have 获取对应名称的命令行参数,并将其转换为 bool 类型返回 Example:

verbose = cli.Have("verbose") // --verbose 则为true

定义#

Have(name string, opts ...SetCliExtraParam) bool

参数#

参数名参数类型参数解释
namestring
opts...SetCliExtraParam

返回值#

返回值(顺序)返回值类型返回值解释
r1bool

Host#

详细描述#

Host 获取对应名称的命令行参数,根据","切割并尝试解析CIDR网段并返回 []string 类型 Example:

hosts = cli.Host("hosts")// --hosts 192.168.0.0/24,172.17.0.1 则 hosts 为 192.168.0.0/24对应的所有IP和172.17.0.1

定义#

Host(name string, opts ...SetCliExtraParam) []string

参数#

参数名参数类型参数解释
namestring
opts...SetCliExtraParam

返回值#

返回值(顺序)返回值类型返回值解释
r1[]string

Hosts#

详细描述#

Hosts 获取对应名称的命令行参数,根据","切割并尝试解析CIDR网段并返回 []string 类型 Example:

hosts = cli.Hosts("hosts")// --hosts 192.168.0.0/24,172.17.0.1 则 hosts 为 192.168.0.0/24对应的所有IP和172.17.0.1

定义#

Hosts(name string, opts ...SetCliExtraParam) []string

参数#

参数名参数类型参数解释
namestring
opts...SetCliExtraParam

返回值#

返回值(顺序)返回值类型返回值解释
r1[]string

Int#

详细描述#

Int 获取对应名称的命令行参数,并将其转换为 int 类型返回 Example:

port = cli.Int("port") // --port 80 则 port 为 80

定义#

Int(name string, opts ...SetCliExtraParam) int

参数#

参数名参数类型参数解释
namestring
opts...SetCliExtraParam

返回值#

返回值(顺序)返回值类型返回值解释
r1int

IntSlice#

详细描述#

IntSlice 获取对应名称的命令行参数,将其字符串根据","切割并尝试转换为 int 类型返回 []int 类型 Example:

ports = cli.IntSlice("ports")// --ports 80,443,8080 则 ports 为 [80, 443, 8080]

定义#

IntSlice(name string, options ...SetCliExtraParam) []int

参数#

参数名参数类型参数解释
namestring
options...SetCliExtraParam

返回值#

返回值(顺序)返回值类型返回值解释
r1[]int

Integer#

详细描述#

Integer 获取对应名称的命令行参数,并将其转换为 int 类型返回 Example:

port = cli.Integer("port") // --port 80 则 port 为 80

定义#

Integer(name string, opts ...SetCliExtraParam) int

参数#

参数名参数类型参数解释
namestring
opts...SetCliExtraParam

返回值#

返回值(顺序)返回值类型返回值解释
r1int

Json#

详细描述#

Json 获取对应名称的命令行参数, 与cli.JsonSchema一起使用以构建复杂参数 详情参考:

  1. https://json-schema.org/docs
  2. https://rjsf-team.github.io/react-jsonschema-form/ Example:
info = cli.Json("info",cli.setVerboseName("项目信息"),cli.setJsonSchema(<<<JSON{"title":"A registration form","description":"A simple form example.","type":"object","required":["firstName","lastName"],"properties":{"name":{"type":"string","title":"Name","default":"Chuck"},"password":{"type":"string","title":"Password","minLength":3},"telephone":{"type":"string","title":"Telephone","minLength":10}}}JSON,cli.setUISchema()),)cli.check()

定义#

Json(name string, opts ...SetCliExtraParam) map[string]any

参数#

参数名参数类型参数解释
namestring
opts...SetCliExtraParam

返回值#

返回值(顺序)返回值类型返回值解释
r1map[string]any

LineDict#

详细描述#

LineDict 获取对应名称的命令行参数 根据其传入的值尝试读取其对应文件内容,如果无法读取则作为字符串,最后根据换行符切割,返回 []string 类型 Example:

dict = cli.LineDict("dict")// --dict /etc/passwd 则 dict 为 /etc/passwd 文件中的逐行的内容// --dict "asd" 则 dict 为 ["asd"]

定义#

LineDict(name string, opts ...SetCliExtraParam) []string

参数#

参数名参数类型参数解释
namestring
opts...SetCliExtraParam

返回值#

返回值(顺序)返回值类型返回值解释
r1[]string

Net#

详细描述#

Net 获取对应名称的命令行参数,根据","切割并尝试解析CIDR网段并返回 []string 类型 Example:

hosts = cli.Net("hosts")// --hosts 192.168.0.0/24,172.17.0.1 则 hosts 为 192.168.0.0/24对应的所有IP和172.17.0.1

定义#

Net(name string, opts ...SetCliExtraParam) []string

参数#

参数名参数类型参数解释
namestring
opts...SetCliExtraParam

返回值#

返回值(顺序)返回值类型返回值解释
r1[]string

Network#

详细描述#

NetWork 获取对应名称的命令行参数,根据","切割并尝试解析CIDR网段并返回 []string 类型 Example:

hosts = cli.NetWork("hosts")// --hosts 192.168.0.0/24,172.17.0.1 则 hosts 为 192.168.0.0/24对应的所有IP和172.17.0.1

定义#

Network(name string, opts ...SetCliExtraParam) []string

参数#

参数名参数类型参数解释
namestring
opts...SetCliExtraParam

返回值#

返回值(顺序)返回值类型返回值解释
r1[]string

Port#

详细描述#

Port 获取对应名称的命令行参数,根据","与"-"切割并尝试解析端口并返回 []int 类型 Example:

ports = cli.Port("ports")// --ports 10086-10088,23333 则 ports 为 [10086, 10087, 10088, 23333]

定义#

Port(name string, opts ...SetCliExtraParam) []int

参数#

参数名参数类型参数解释
namestring
opts...SetCliExtraParam

返回值#

返回值(顺序)返回值类型返回值解释
r1[]int

Ports#

详细描述#

Ports 获取对应名称的命令行参数,根据","与"-"切割并尝试解析端口并返回 []int 类型 Example:

ports = cli.Ports("ports")// --ports 10086-10088,23333 则 ports 为 [10086, 10087, 10088, 23333]

定义#

Ports(name string, opts ...SetCliExtraParam) []int

参数#

参数名参数类型参数解释
namestring
opts...SetCliExtraParam

返回值#

返回值(顺序)返回值类型返回值解释
r1[]int

SetCliName#

详细描述#

SetCliName 设置此命令行程序的名称 这会在命令行输入 --help 或执行cli.check()后参数非法时显示 Example:

cli.SetCliName("example-tools")

定义#

SetCliName(name string)

参数#

参数名参数类型参数解释
namestring

SetDoc#

详细描述#

SetDoc 设置此命令行程序的文档 这会在命令行输入 --help 或执行cli.check()后参数非法时显示 Example:

cli.SetDoc("example-tools is a tool for example")

定义#

SetDoc(document string)

参数#

参数名参数类型参数解释
documentstring

String#

详细描述#

String 获取对应名称的命令行参数,并将其转换为 string 类型返回 Example:

target = cli.String("target") // --target yaklang.com 则 target 为 yaklang.com

定义#

String(name string, opts ...SetCliExtraParam) string

参数#

参数名参数类型参数解释
namestring
opts...SetCliExtraParam

返回值#

返回值(顺序)返回值类型返回值解释
r1string

StringSlice#

详细描述#

StringSlice 获取对应名称的命令行参数,将其字符串根据","切割返回 []string 类型 Example:

targets = cli.StringSlice("targets")// --targets yaklang.com,google.com 则 targets 为 ["yaklang.com", "google.com"]

定义#

StringSlice(name string, options ...SetCliExtraParam) []string

参数#

参数名参数类型参数解释
namestring
options...SetCliExtraParam

返回值#

返回值(顺序)返回值类型返回值解释
r1[]string

Text#

详细描述#

Text 获取对应名称的命令行参数,并将其转换为 string 类型返回 其作为一个独立脚本运行时与 cli.String 没有区别,仅在 Yakit 图形化中展示为文本框形式 Example:

target = cli.Text("target") // --target yaklang.com 则 target 为 yaklang.com

定义#

Text(name string, opts ...SetCliExtraParam) string

参数#

参数名参数类型参数解释
namestring
opts...SetCliExtraParam

返回值#

返回值(顺序)返回值类型返回值解释
r1string

UI#

详细描述#

定义#

UI(opts ...UIParams)

参数#

参数名参数类型参数解释
opts...UIParams

Url#

详细描述#

Url 获取对应名称的命令行参数,根据","切割并尝试将其转换为符合URL格式并返回 []string 类型 Example:

urls = cli.Url("urls")// --urls yaklang.com:443,google.com:443 则 urls 为 ["https://yaklang.com", "https://google.com"]

定义#

Url(name string, opts ...SetCliExtraParam) []string

参数#

参数名参数类型参数解释
namestring
opts...SetCliExtraParam

返回值#

返回值(顺序)返回值类型返回值解释
r1[]string

Urls#

详细描述#

Urls 获取对应名称的命令行参数,根据","切割并尝试将其转换为符合URL格式并返回 []string 类型 Example:

urls = cli.Urls("urls")// --urls yaklang.com:443,google.com:443 则 urls 为 ["https://yaklang.com", "https://google.com"]

定义#

Urls(name string, opts ...SetCliExtraParam) []string

参数#

参数名参数类型参数解释
namestring
opts...SetCliExtraParam

返回值#

返回值(顺序)返回值类型返回值解释
r1[]string

YakCode#

详细描述#

YakCode 获取对应名称的命令行参数,并将其转换为 string 类型返回 其作为一个独立脚本运行时与 cli.String 没有区别,仅在 Yakit 图形化中展示为 Yak 代码形式 Example:

target = cli.YakCode("target") // --target yaklang.com 则 target 为 yaklang.com

定义#

YakCode(name string, opts ...SetCliExtraParam) string

参数#

参数名参数类型参数解释
namestring
opts...SetCliExtraParam

返回值#

返回值(顺序)返回值类型返回值解释
r1string

YakitPlugin#

详细描述#

YakitPlugin 获取名称为 yakit-plugin-file 的命令行参数 根据其传入的值读取其对应文件内容并根据"|"切割并返回 []string 类型,表示各个插件名 Example:

plugins = cli.YakitPlugin()// --yakit-plugin-file plugins.txt 则 plugins 为 plugins.txt 文件中的各个插件名

定义#

YakitPlugin(options ...SetCliExtraParam) []string

参数#

参数名参数类型参数解释
options...SetCliExtraParam

返回值#

返回值(顺序)返回值类型返回值解释
r1[]string

check#

详细描述#

check 用于检查命令行参数是否合法,这主要检查必要参数是否传入与传入值是否合法 Example:

target = cli.String("target", cli.SetRequired(true))cli.check()

定义#

check()

help#

详细描述#

help 用于输出命令行程序的帮助信息 Example:

cli.help()

定义#

help(w ...io.Writer)

参数#

参数名参数类型参数解释
w...io.Writer

hideGroup#

详细描述#

定义#

hideGroup(group string) UIParams

参数#

参数名参数类型参数解释
groupstring

返回值#

返回值(顺序)返回值类型返回值解释
r1UIParams

hideParams#

详细描述#

定义#

hideParams(params ...string) UIParams

参数#

参数名参数类型参数解释
params...string

返回值#

返回值(顺序)返回值类型返回值解释
r1UIParams

setCliGroup#

详细描述#

setCliGroup 是一个选项函数,设置参数的分组 Example:

cli.String("target", cli.setCliGroup("common"))cli.Int("port", cli.setCliGroup("common"))cli.Int("threads", cli.setCliGroup("request"))cli.Int("retryTimes", cli.setCliGroup("request"))

定义#

setCliGroup(group string) SetCliExtraParam

参数#

参数名参数类型参数解释
groupstring

返回值#

返回值(顺序)返回值类型返回值解释
r1SetCliExtraParam

setDefault#

详细描述#

setDefault 是一个选项函数,设置参数的默认值 Example:

cli.String("target", cli.SetDefault("yaklang.com"))

定义#

setDefault(i any) SetCliExtraParam

参数#

参数名参数类型参数解释
iany

返回值#

返回值(顺序)返回值类型返回值解释
r1SetCliExtraParam

setHelp#

详细描述#

setHelp 是一个选项函数,设置参数的帮助信息 这会在命令行输入 --help 或执行cli.check()后参数非法时显示 Example:

cli.String("target", cli.SetHelp("target host or ip"))

定义#

setHelp(i string) SetCliExtraParam

参数#

参数名参数类型参数解释
istring

返回值#

返回值(顺序)返回值类型返回值解释
r1SetCliExtraParam

setJsonSchema#

详细描述#

setJsonSchema 是一个选项参数,用于在cli.Json中使用JsonSchema构建复杂参数 详情参考:

  1. https://json-schema.org/docs
  2. https://rjsf-team.github.io/react-jsonschema-form/ Example:
info = cli.Json("info",cli.setVerboseName("项目信息"),cli.setJsonSchema(<<<JSON{"title":"A registration form","description":"A simple form example.","type":"object","required":["firstName","lastName"],"properties":{"name":{"type":"string","title":"Name","default":"Chuck"},"password":{"type":"string","title":"Password","minLength":3},"telephone":{"type":"string","title":"Telephone","minLength":10}}}JSON,cli.setUISchema()),)cli.check()

定义#

setJsonSchema(schema string, uis ...*UISchema) SetCliExtraParam

参数#

参数名参数类型参数解释
schemastring
uis...*UISchema

返回值#

返回值(顺序)返回值类型返回值解释
r1SetCliExtraParam

setMultipleSelect#

详细描述#

SetMultipleSelect 是一个选项函数,设置参数是否可以多选 此选项仅在cli.StringSlice中生效 Example:

cli.StringSlice("targets", cli.SetMultipleSelect(true))

定义#

setMultipleSelect(multiSelect bool) SetCliExtraParam

参数#

参数名参数类型参数解释
multiSelectbool

返回值#

返回值(顺序)返回值类型返回值解释
r1SetCliExtraParam

setPluginEnv#

详细描述#

setPluginEnv 是一个选项函数,设置参数从插件环境中取值 Example:

cli.String("key", cli.setPluginEnv("api-key"))

定义#

setPluginEnv(key string) SetCliExtraParam

参数#

参数名参数类型参数解释
keystring

返回值#

返回值(顺序)返回值类型返回值解释
r1SetCliExtraParam

setRequired#

详细描述#

setRequired 是一个选项函数,设置参数是否必须 Example:

cli.String("target", cli.SetRequired(true))

定义#

setRequired(t bool) SetCliExtraParam

参数#

参数名参数类型参数解释
tbool

返回值#

返回值(顺序)返回值类型返回值解释
r1SetCliExtraParam

setSelectOption#

详细描述#

setSelectOption 是一个选项函数,设置参数的下拉框选项 此选项仅在cli.StringSlice中生效 Example:

cli.StringSlice("targets", cli.setSelectOption("下拉框选项", "下拉框值"))

定义#

setSelectOption(name string, value string) SetCliExtraParam

参数#

参数名参数类型参数解释
namestring
valuestring

返回值#

返回值(顺序)返回值类型返回值解释
r1SetCliExtraParam

setShortName#

详细描述#

setShortName 是一个选项函数,设置参数的短名称 Example:

cli.String("target", cli.setShortName("t"))

在命令行可以使用-t代替--target

定义#

setShortName(shortName string) SetCliExtraParam

参数#

参数名参数类型参数解释
shortNamestring

返回值#

返回值(顺序)返回值类型返回值解释
r1SetCliExtraParam

setUISchema#

详细描述#

setUISchema 是一个选项参数,用于对JsonSchema设置的参数进行图形化的调整 详情参考:

  1. https://json-schema.org/docs
  2. https://rjsf-team.github.io/react-jsonschema-form/
  3. https://rjsf-team.github.io/react-jsonschema-form/docs/api-reference/uiSchema/ Example:
info = cli.Json(
    "info",    cli.setVerboseName("项目信息"),    cli.setJsonSchema(        <<<JSON
{"title":"A registration form","description":"A simple form example.","type":"object","required":["firstName","lastName"],"properties":{"name":{"type":"string","title":"Name","default":"Chuck"},"password":{"type":"string","title":"Password","minLength":3},"telephone":{"type":"string","title":"Telephone","minLength":10}}}JSON,
        cli.setUISchema(cli.uiGroups(            cli.uiGroup(                cli.uiField("name", 0.5),                cli.uiField("password", 0.5, cli.uiFieldWidget(cli.uiWidgetPassword)),            ),            cli.uiGroup(cli.uiField("telephone", 1)),        )),    ),
cli.setRequired(true),)cli.check()

定义#

setUISchema(params ...UISchemaParams) *UISchema

参数#

参数名参数类型参数解释
params...UISchemaParams

返回值#

返回值(顺序)返回值类型返回值解释
r1*UISchema

setVerboseName#

详细描述#

setVerboseName 是一个选项函数,设置参数的中文名 Example:

cli.String("target", cli.setVerboseName("目标"))

定义#

setVerboseName(verboseName string) SetCliExtraParam

参数#

参数名参数类型参数解释
verboseNamestring

返回值#

返回值(顺序)返回值类型返回值解释
r1SetCliExtraParam

setYakitPayload#

详细描述#

setYakitPayload 是一个选项函数,设置参数建议值为Yakit payload的字典名列表 Example:

cli.String("dictName", cli.setYakitPayload(true))

定义#

setYakitPayload(b bool) SetCliExtraParam

参数#

参数名参数类型参数解释
bbool

返回值#

返回值(顺序)返回值类型返回值解释
r1SetCliExtraParam

showGroup#

详细描述#

定义#

showGroup(group string) UIParams

参数#

参数名参数类型参数解释
groupstring

返回值#

返回值(顺序)返回值类型返回值解释
r1UIParams

showParams#

详细描述#

定义#

showParams(params ...string) UIParams

参数#

参数名参数类型参数解释
params...string

返回值#

返回值(顺序)返回值类型返回值解释
r1UIParams

uiField#

详细描述#

uiField 是一个选项参数,用于指定UISchema中的一个字段 第一个参数指定字段名 第二个参数指定这个字段所占的宽度比(0.0-1.0) 接下来可以接收零个到多个选项,用于对此字段进行其他的设置,例如内嵌分组(cli.uiFieldGroups)或者指定其部件(cli.uiFieldWidget) Example:

info = cli.Json(
    "info",    cli.setVerboseName("项目信息"),    cli.setJsonSchema(        <<<JSON
{"title":"A registration form","description":"A simple form example.","type":"object","required":["firstName","lastName"],"properties":{"name":{"type":"string","title":"Name","default":"Chuck"},"password":{"type":"string","title":"Password","minLength":3},"telephone":{"type":"string","title":"Telephone","minLength":10}}}JSON,
        cli.setUISchema(cli.uiGroups(            cli.uiGroup(                cli.uiField("name", 0.5),                cli.uiField("password", 0.5, cli.uiFieldWidget(cli.uiWidgetPassword)),            ),            cli.uiGroup(cli.uiField("telephone", 1)),        )),    ),
cli.setRequired(true),)cli.check()

定义#

uiField(name string, widthPercent float64, opts ...UISchemaFieldParams) *uiSchemaField

参数#

参数名参数类型参数解释
namestring
widthPercentfloat64
opts...UISchemaFieldParams

返回值#

返回值(顺序)返回值类型返回值解释
r1*uiSchemaField

uiFieldComponentStyle#

详细描述#

uiFieldComponentStyle 是一个选项参数,用于指定UISchema中的CSS样式 Example:

info = cli.Json(
    "info",    cli.setVerboseName("项目信息"),    cli.setJsonSchema(        <<<JSON
{"title":"A registration form","description":"A simple form example.","type":"object","required":["firstName","lastName"],"properties":{"name":{"type":"string","title":"Name","default":"Chuck"},"password":{"type":"string","title":"Password","minLength":3},"telephone":{"type":"string","title":"Telephone","minLength":10}}}JSON,
        cli.setUISchema(cli.uiGroups(            cli.uiGroup(                cli.uiField("name", 0.5),                cli.uiField("password", 0.5, cli.uiFieldWidget(cli.uiWidgetPassword)),            ),            cli.uiGroup(cli.uiField(                "telephone",                1,                cli.uiFieldComponentStyle({"width": "50%"}),            )),        )),    ),
cli.setRequired(true),)cli.check()

定义#

uiFieldComponentStyle(css map[string]any) UISchemaFieldParams

参数#

参数名参数类型参数解释
cssmap[string]any

返回值#

返回值(顺序)返回值类型返回值解释
r1UISchemaFieldParams

uiFieldGroups#

详细描述#

uiFieldGroups 是一个选项参数,用于设置UISchema中字段的嵌套组 Example:

info = cli.Json(
    "info",    cli.setVerboseName("项目信息"),    cli.setJsonSchema(        <<<JSON
{"title":"A list of tasks","type":"object","required":["title"],"properties":{"title":{"type":"string","title":"Task list title"},"tasks":{"type":"array","title":"Tasks","items":{"type":"object","required":["title"],"properties":{"title":{"type":"string","title":"Title","description":"A sample title"},"details":{"type":"string","title":"Task details","description":"Enter the task details"},"done":{"type":"boolean","title":"Done?","default":false}}}}}}JSON,
        cli.setUISchema(cli.uiGroups(            cli.uiGroup(cli.uiField("title", 1)),            cli.uiGroup(cli.uiField(                "tasks",                1,                cli.uiFieldGroups(cli.uiGroup(cli.uiField(                    "items",                    1,                    cli.uiFieldGroups(                        cli.uiGroup(cli.uiField("title", 1)),                        cli.uiGroup(cli.uiField("details", 1, cli.uiFieldWidget(cli.uiWidgetTextarea))),                        cli.uiGroup(cli.uiField("done", 1)),                    ),                ))),            )),        )),    ),
cli.setRequired(true),)cli.check()

定义#

uiFieldGroups(groups ...uiSchemaGroup) UISchemaFieldParams

参数#

参数名参数类型参数解释
groups...uiSchemaGroup

返回值#

返回值(顺序)返回值类型返回值解释
r1UISchemaFieldParams

uiFieldPosition#

详细描述#

uiFieldPosition 是一个选项参数,用于指定UISchema中的字段位置,默认为垂直排列 Example:

info = cli.Json(
    "info",    cli.setVerboseName("项目信息"),    cli.setJsonSchema(        <<<JSON
{"title":"A registration form","description":"A simple form example.","type":"object","required":["firstName","lastName"],"properties":{"name":{"type":"string","title":"Name","default":"Chuck"},"password":{"type":"string","title":"Password","minLength":3},"telephone":{"type":"string","title":"Telephone","minLength":10}}}JSON,
        cli.setUISchema(cli.uiGroups(            cli.uiGroup(                cli.uiField("name", 0.5),                cli.uiField("password", 0.5, cli.uiFieldWidget(cli.uiWidgetPassword)),            ),            cli.uiGroup(cli.uiField("telephone", 1, cli.uiFieldPosition(cli.uiPosHorizontal))),        )),    ),
cli.setRequired(true),)cli.check()

定义#

uiFieldPosition(position UISchemaFieldClassName) UISchemaFieldParams

参数#

参数名参数类型参数解释
positionUISchemaFieldClassName

返回值#

返回值(顺序)返回值类型返回值解释
r1UISchemaFieldParams

uiFieldWidget#

详细描述#

uiFieldWidget 是一个选项参数,用于指定UISchema中的字段使用的组件 Example:

info = cli.Json(
    "info",    cli.setVerboseName("项目信息"),    cli.setJsonSchema(        <<<JSON
{"title":"A registration form","description":"A simple form example.","type":"object","required":["firstName","lastName"],"properties":{"name":{"type":"string","title":"Name","default":"Chuck"},"password":{"type":"string","title":"Password","minLength":3},"telephone":{"type":"string","title":"Telephone","minLength":10}}}JSON,
        cli.setUISchema(cli.uiGroups(            cli.uiGroup(                cli.uiField("name", 0.5),                cli.uiField("password", 0.5, cli.uiFieldWidget(cli.uiWidgetPassword)),            ),            cli.uiGroup(cli.uiField("telephone", 1)),        )),    ),
cli.setRequired(true),)cli.check()

定义#

uiFieldWidget(widget UISchemaWidgetType) UISchemaFieldParams

参数#

参数名参数类型参数解释
widgetUISchemaWidgetType

返回值#

返回值(顺序)返回值类型返回值解释
r1UISchemaFieldParams

uiGlobalFieldPosition#

详细描述#

uiGlobalFieldPosition 是一个选项参数,用于指定UISchema中全局的字段位置,默认为垂直排列 Example:

info = cli.Json(
    "info",    cli.setVerboseName("项目信息"),    cli.setJsonSchema(        <<<JSON
{"title":"A registration form","description":"A simple form example.","type":"object","required":["firstName","lastName"],"properties":{"name":{"type":"string","title":"Name","default":"Chuck"},"password":{"type":"string","title":"Password","minLength":3},"telephone":{"type":"string","title":"Telephone","minLength":10}}}JSON,
        cli.setUISchema(cli.uiGlobalFieldPosition(cli.uiPosHorizontal)),    ),
cli.setRequired(true),)cli.check()

定义#

uiGlobalFieldPosition(style UISchemaFieldClassName) UISchemaParams

参数#

参数名参数类型参数解释
styleUISchemaFieldClassName

返回值#

返回值(顺序)返回值类型返回值解释
r1UISchemaParams

uiGroup#

详细描述#

uiGroup 是一个选项参数,用于指定UISchema中的一个分组,接收多个字段(cli.Field),同一分组的字段会放在一行 Example:

info = cli.Json(
    "info",    cli.setVerboseName("项目信息"),    cli.setJsonSchema(        <<<JSON
{"title":"A registration form","description":"A simple form example.","type":"object","required":["firstName","lastName"],"properties":{"name":{"type":"string","title":"Name","default":"Chuck"},"password":{"type":"string","title":"Password","minLength":3},"telephone":{"type":"string","title":"Telephone","minLength":10}}}JSON,
        cli.setUISchema(cli.uiGroups(            cli.uiGroup(                cli.uiField("name", 0.5),                cli.uiField("password", 0.5, cli.uiFieldWidget(cli.uiWidgetPassword)),            ),            cli.uiGroup(cli.uiField("telephone", 1)),        )),    ),
cli.setRequired(true),)cli.check()

定义#

uiGroup(fields ...uiSchemaField) *uiSchemaGroup

参数#

参数名参数类型参数解释
fields...uiSchemaField

返回值#

返回值(顺序)返回值类型返回值解释
r1*uiSchemaGroup

uiGroups#

详细描述#

uiGroups 是一个选项参数,用于指定UISchema中的字段整体分组,接受多个分组(cli.uiGroup) Example:

info = cli.Json(
    "info",    cli.setVerboseName("项目信息"),    cli.setJsonSchema(        <<<JSON
{"title":"A registration form","description":"A simple form example.","type":"object","required":["firstName","lastName"],"properties":{"name":{"type":"string","title":"Name","default":"Chuck"},"password":{"type":"string","title":"Password","minLength":3},"telephone":{"type":"string","title":"Telephone","minLength":10}}}JSON,
        cli.setUISchema(cli.uiGroups(            cli.uiGroup(                cli.uiField("name", 0.5),                cli.uiField("password", 0.5, cli.uiFieldWidget(cli.uiWidgetPassword)),            ),            cli.uiGroup(cli.uiField("telephone", 1)),        )),    ),
cli.setRequired(true),)cli.check()

定义#

uiGroups(groups ...uiSchemaGroup) UISchemaParams

参数#

参数名参数类型参数解释
groups...uiSchemaGroup

返回值#

返回值(顺序)返回值类型返回值解释
r1UISchemaParams

when#

详细描述#

定义#

when(expression string) UIParams

参数#

参数名参数类型参数解释
expressionstring

返回值#

返回值(顺序)返回值类型返回值解释
r1UIParams

whenDefault#

详细描述#

定义#

whenDefault() UIParams

返回值#

返回值(顺序)返回值类型返回值解释
r1UIParams

whenEqual#

详细描述#

定义#

whenEqual(param string, value string) UIParams

参数#

参数名参数类型参数解释
paramstring
valuestring

返回值#

返回值(顺序)返回值类型返回值解释
r1UIParams

whenFalse#

详细描述#

定义#

whenFalse(param string) UIParams

参数#

参数名参数类型参数解释
paramstring

返回值#

返回值(顺序)返回值类型返回值解释
r1UIParams

whenNotEqual#

详细描述#

定义#

whenNotEqual(param string, value string) UIParams

参数#

参数名参数类型参数解释
paramstring
valuestring

返回值#

返回值(顺序)返回值类型返回值解释
r1UIParams

whenTrue#

详细描述#

定义#

whenTrue(param string) UIParams

参数#

参数名参数类型参数解释
paramstring

返回值#

返回值(顺序)返回值类型返回值解释
r1UIParams