|
|
@@ -1,6 +1,12 @@ |
|
|
|
package cmd |
|
|
|
|
|
|
|
import "github.com/urfave/cli/v2" |
|
|
|
import ( |
|
|
|
"fmt" |
|
|
|
"github.com/urfave/cli/v2" |
|
|
|
"golib.gaore.com/GaoreGo/beegoinit-cmd/utils" |
|
|
|
"os" |
|
|
|
"path" |
|
|
|
) |
|
|
|
|
|
|
|
var gitignore = `# Created by .ignore support plugin (hsz.mobi) |
|
|
|
### Example user template template |
|
|
@@ -29,6 +35,164 @@ gen |
|
|
|
# Dependency directories (remove the comment below to include it) |
|
|
|
# vendor/` |
|
|
|
|
|
|
|
var tree = ` |
|
|
|
. |
|
|
|
├── applications |
|
|
|
│ ├── _common |
|
|
|
│ ├── api |
|
|
|
│ | └── index.go |
|
|
|
│ └── init.go |
|
|
|
├── cli |
|
|
|
│ └── test |
|
|
|
├── conf |
|
|
|
│ └──app.conf |
|
|
|
├── main.go |
|
|
|
├── runtime |
|
|
|
│ └── logs |
|
|
|
├── static |
|
|
|
├── Makefile |
|
|
|
└── README.md |
|
|
|
` |
|
|
|
|
|
|
|
var initfun = ` |
|
|
|
package applications |
|
|
|
|
|
|
|
import ( |
|
|
|
"errors" |
|
|
|
"github.com/astaxie/beego" |
|
|
|
"golib.gaore.com/GaoreGo/beegoinit/response" |
|
|
|
router "golib.gaore.com/GaoreGo/beegoinit/routers" |
|
|
|
"golib.gaore.com/GaoreGo/grconfig" |
|
|
|
"golib.gaore.com/GaoreGo/grlogs" |
|
|
|
common "jedi.gaore.com/applications/_common/controllers" |
|
|
|
api "jedi.gaore.com/applications/api/controllers" |
|
|
|
"strings" |
|
|
|
) |
|
|
|
|
|
|
|
func init() { |
|
|
|
router.AddController("api", new(api.IndexController)) |
|
|
|
// 通用路由处理 |
|
|
|
router.ErrorController(&common.ErrorController{}) |
|
|
|
beego.Router("/", &api.IndexController{}, "get:Index") |
|
|
|
|
|
|
|
beego.SetStaticPath("/assets", "static") |
|
|
|
if err := beego.AddViewPath("applications/_common/views"); err != nil { |
|
|
|
grlogs.Error(err) |
|
|
|
} |
|
|
|
} |
|
|
|
` |
|
|
|
var indexcontroller = ` |
|
|
|
package controllers |
|
|
|
|
|
|
|
import ( |
|
|
|
|
|
|
|
) |
|
|
|
|
|
|
|
type IndexController struct { |
|
|
|
baseController |
|
|
|
} |
|
|
|
|
|
|
|
func (this *IndexController) Index() { |
|
|
|
this.Ctx.WriteString("ok") |
|
|
|
this.StopRun() |
|
|
|
} |
|
|
|
` |
|
|
|
|
|
|
|
var basecontroller = ` |
|
|
|
package controllers |
|
|
|
|
|
|
|
import ( |
|
|
|
"github.com/astaxie/beego" |
|
|
|
"golib.gaore.com/GaoreGo/beegoinit/mvc" |
|
|
|
"golib.gaore.com/GaoreGo/grconfig" |
|
|
|
"path" |
|
|
|
) |
|
|
|
|
|
|
|
type baseController struct { |
|
|
|
Configer *grconfig.Configer |
|
|
|
mvc.BaseController |
|
|
|
} |
|
|
|
|
|
|
|
func (this *baseController) NestPrepare() { |
|
|
|
this.Configer = grconfig.New(path.Join(beego.WorkPath, "conf/")) |
|
|
|
this.EnableXSRF = false |
|
|
|
this.StopRender() |
|
|
|
} |
|
|
|
` |
|
|
|
|
|
|
|
var errcontroller = ` |
|
|
|
package controllers |
|
|
|
|
|
|
|
import ( |
|
|
|
"golib.gaore.com/GaoreGo/beegoinit/mvc" |
|
|
|
"golib.gaore.com/GaoreGo/beegoinit/response" |
|
|
|
"strings" |
|
|
|
) |
|
|
|
|
|
|
|
type ErrorController struct { |
|
|
|
mvc.BaseController |
|
|
|
} |
|
|
|
|
|
|
|
func (this *ErrorController) NestPrepare() { |
|
|
|
this.ViewPath = "applications/_common/views" |
|
|
|
} |
|
|
|
|
|
|
|
func (this *ErrorController) Error404() { |
|
|
|
if this.IsAjax() || strings.Contains(strings.ToLower(this.Ctx.Input.Header("Accept")), "json") { |
|
|
|
resp := response.NewJsonByDefaultFailed() |
|
|
|
this.Data["json"] = resp |
|
|
|
this.ServeJSON() |
|
|
|
} else { |
|
|
|
this.Data["content"] = "page not found" |
|
|
|
this.TplName = "404.tpl" |
|
|
|
} |
|
|
|
} |
|
|
|
` |
|
|
|
|
|
|
|
var mainfun = ` |
|
|
|
package main |
|
|
|
|
|
|
|
import ( |
|
|
|
"github.com/astaxie/beego" |
|
|
|
"github.com/astaxie/beego/toolbox" |
|
|
|
_ "golib.gaore.com/GaoreGo/beegoinit" |
|
|
|
_ "jedi.gaore.com/applications" |
|
|
|
) |
|
|
|
|
|
|
|
func main() { |
|
|
|
defer toolbox.StopTask() |
|
|
|
toolbox.StartTask() |
|
|
|
beego.Run() |
|
|
|
} |
|
|
|
` |
|
|
|
|
|
|
|
var indextpl = `<h1 class="animation-slide-top">400</h1>` |
|
|
|
|
|
|
|
func New(c *cli.Context) error { |
|
|
|
|
|
|
|
var appPath string |
|
|
|
var packPath string |
|
|
|
|
|
|
|
if packPath == "." { |
|
|
|
packPath = path.Base(appPath) |
|
|
|
} |
|
|
|
|
|
|
|
fmt.Println(tree) |
|
|
|
appPath = "." |
|
|
|
os.Mkdir(path.Join(appPath, "static"), 0755) |
|
|
|
os.Mkdir(path.Join(appPath, "conf"), 0755) |
|
|
|
os.Mkdir(path.Join(appPath, "cli"), 0755) |
|
|
|
os.MkdirAll(path.Join(appPath, "runtime", "logs"), 0755) |
|
|
|
os.MkdirAll(path.Join(appPath, "applications", "_common", "controllers"), 0755) |
|
|
|
os.MkdirAll(path.Join(appPath, "applications", "_common", "views"), 0755) |
|
|
|
os.MkdirAll(path.Join(appPath, "applications", "api", "controlelrs"), 0755) |
|
|
|
|
|
|
|
utils.WriteToFile(path.Join(appPath, "main.go"), mainfun) |
|
|
|
utils.WriteToFile(path.Join(appPath, "applications", "init.go"), initfun) |
|
|
|
utils.WriteToFile(path.Join(appPath, "applications", "_common", "views", "404.tpl"), indextpl) |
|
|
|
utils.WriteToFile(path.Join(appPath, "applications", "_common", "views", "403.tpl"), indextpl) |
|
|
|
utils.WriteToFile(path.Join(appPath, "applications", "_common", "controllers", "error.go"), errcontroller) |
|
|
|
utils.WriteToFile(path.Join(appPath, "applications", "api", "controllers", "base.go"), basecontroller) |
|
|
|
utils.WriteToFile(path.Join(appPath, "applications", "api", "controllers", "index.go"), indexcontroller) |
|
|
|
return nil |
|
|
|
} |