|
- package cmd
-
- 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
- ### Example user template
-
- # IntelliJ project files
- .idea
- *.iml
- out
- gen
- /runtime
- ### Go template
- # Binaries for programs and plugins
- *.exe
- *.exe~
- *.dll
- *.so
- *.dylib
-
- # Test binary, built with 'go test -c\'
- *.test
-
- # Output of the go coverage tool, specifically when used with LiteIDE
- *.out
-
- # 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
- }
|