| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 |
- //go:build createApp
- package server
- import (
- "bytes"
- "fmt"
- "log"
- "text/template"
- "IotAdmin/core/sdk/pkg"
- "IotAdmin/core/sdk/pkg/utils"
- _ "IotAdmin/migration/version"
- _ "IotAdmin/migration/version-local"
- "github.com/spf13/pflag"
- )
- var (
- //获取命令行参数
- appName = pflag.StringP("name", "n", "", "选择租户域名")
- )
- func Init() {
- if *appName == "" {
- fmt.Println(`请输入应用名称 -n={应用名称}`)
- log.Println("arg `name` invalid :name is empty")
- } else {
- err := setup(*appName)
- if err != nil {
- log.Println("创建应用失败:" + err.Error())
- }
- }
- }
- func setup(name string) error {
- path := "app/"
- appPath := path + name
- fmt.Println(`开始创建应用 => ` + appPath)
- err := utils.IsNotExistMkDir(appPath)
- if err != nil {
- return err
- }
- apiPath := appPath + "/apis/"
- err = utils.IsNotExistMkDir(apiPath)
- if err != nil {
- return err
- }
- modelsPath := appPath + "/models/"
- err = utils.IsNotExistMkDir(modelsPath)
- if err != nil {
- return err
- }
- routerPath := appPath + "/router/"
- err = utils.IsNotExistMkDir(routerPath)
- if err != nil {
- return err
- }
- servicePath := appPath + "/service/"
- err = utils.IsNotExistMkDir(servicePath)
- if err != nil {
- return err
- }
- dtoPath := appPath + "/service/dto/"
- err = utils.IsNotExistMkDir(dtoPath)
- if err != nil {
- return err
- }
- tInitRouter, err := template.ParseFiles("template/router.init.template")
- if err != nil {
- return err
- }
- m := map[string]string{}
- m["appName"] = name
- var bInitRouter bytes.Buffer
- err = tInitRouter.Execute(&bInitRouter, m)
- pkg.FileCreate(bInitRouter, "./app/router/"+name+".go")
- tRouter, err := template.ParseFiles("template/router.app.template")
- var bRouter bytes.Buffer
- err = tRouter.Execute(&bRouter, nil)
- pkg.FileCreate(bRouter, appPath+"/router/router.go")
- fmt.Println(name + ` 应用创建成功`)
- return nil
- }
|