|
|
|
package sub
|
|
|
|
|
|
|
|
import (
|
|
|
|
"github.com/urfave/cli/v2"
|
|
|
|
"github.com/veypi/OneAuth/api"
|
|
|
|
"github.com/veypi/OneAuth/cfg"
|
|
|
|
"github.com/veypi/OneBD"
|
|
|
|
"github.com/veypi/utils/log"
|
|
|
|
)
|
|
|
|
|
|
|
|
// go:embed static/static
|
|
|
|
//var staticFiles embed.FS
|
|
|
|
|
|
|
|
// go:embed static/favicon.ico
|
|
|
|
//var icon []byte
|
|
|
|
|
|
|
|
// go:embed static/index.html
|
|
|
|
//var indexFile []byte
|
|
|
|
|
|
|
|
var Web = &cli.Command{
|
|
|
|
Name: "web",
|
|
|
|
Usage: "",
|
|
|
|
Description: "oa 核心http服务",
|
|
|
|
Action: RunWeb,
|
|
|
|
Flags: []cli.Flag{},
|
|
|
|
}
|
|
|
|
|
|
|
|
func RunWeb(c *cli.Context) error {
|
|
|
|
ll := log.InfoLevel
|
|
|
|
if l, err := log.ParseLevel(cfg.CFG.LoggerLevel); err == nil {
|
|
|
|
ll = l
|
|
|
|
}
|
|
|
|
app := OneBD.New(&OneBD.Config{
|
|
|
|
Host: cfg.CFG.Host,
|
|
|
|
LoggerPath: cfg.CFG.LoggerPath,
|
|
|
|
LoggerLevel: ll,
|
|
|
|
})
|
|
|
|
|
|
|
|
api.Router(app.Router().SubRouter("api"))
|
|
|
|
|
|
|
|
// TODO media 文件需要检验权限
|
|
|
|
app.Router().SubRouter("/media/").Static("/", cfg.CFG.MediaDir)
|
|
|
|
//app.Router().EmbedDir("/static", staticFiles, "static/static/")
|
|
|
|
//app.Router().EmbedFile("/favicon.ico", icon)
|
|
|
|
//app.Router().EmbedFile("/*", indexFile)
|
|
|
|
|
|
|
|
log.Info().Msg("\nRouting Table\n" + app.Router().String())
|
|
|
|
return app.Run()
|
|
|
|
}
|