package router import ( "fmt" "github.com/astaxie/beego" "github.com/astaxie/beego/logs" ) var ns = make(chan *beego.Namespace) func init() { go func() { for i := range ns { beego.AddNamespace(i) } }() } func ErrorController(c beego.ControllerInterface) { beego.ErrorController(c) } func AddController(name string, c ...beego.ControllerInterface) { linkers := make([]beego.LinkNamespace, 0) for _, v := range c { linkers = append(linkers, beego.NSAutoRouter(v)) } nns := beego.NewNamespace(name, linkers...) ns <- nns if err := beego.AddViewPath(fmt.Sprintf("applications/%s/views/", name)); err != nil { logs.Error(err) } }