package main import ( "fmt" "os" "git.icechen.cn/pkg/wdt/template/api/deploy" "git.icechen.cn/pkg/wdt/template/api/docker/golang" "github.com/fatih/color" _ "embed" "github.com/urfave/cli/v2" ) // ActionListApi API应用列表 func ActionListApi(c *cli.Context) error { if err := Init(c); err != nil { return err } color.Green("API应用列表:") for _, api := range config.HasApi { color.Green("\t%s", api.Name) color.Green("\t\t路径:\t%s", api.Root) color.Green("\t\t类型:\t%s", api.Type) color.Green("\t\t端口:\t%s", api.Port) c := color.New(color.Bold, color.FgRed) c.EnableColor() _, err := c.Println(healthApi(api)) if err != nil { return err } fmt.Print("\n") } return nil } // ActionNewApi 创建API应用 func ActionNewApi(c *cli.Context) error { if err := Init(c); err != nil { return err } appList := c.Args().Slice() if len(appList) == 0 { appName := ReadLineWithMessage("请输入要创建的api名称: ") appList = append(appList, appName) } for _, newApp := range appList { color.Green("正在创建[%s]API应用...", newApp) if ExistDir("app/api/"+newApp) && !ReadBoolWithMessage("app/api/"+newApp+"目录已存在,是否要覆盖app文件目录(y/n): ") { return nil } err := os.MkdirAll("app/api/"+newApp, os.ModePerm) if err != nil { return err } aliasName := ReadLineWithMessage("请输入应用的简短描述(别名): ") err = deploy.GenDeploy(config.Name, newApp, aliasName) if err != nil { return err } err = golang.GenDockerfile(newApp) if err != nil { return err } color.Green("[%s]API应用创建成功!!!\n\n", newApp) } return nil } // ActionFixApi 修复API应用 func ActionFixApi(c *cli.Context) error { return nil }