38 lines
892 B
Go
38 lines
892 B
Go
package register
|
|
|
|
import (
|
|
"github.com/gin-gonic/gin"
|
|
"github.com/sirupsen/logrus"
|
|
"gitter.top/coco/coco"
|
|
|
|
"pastebin/config"
|
|
"pastebin/gen/wire"
|
|
)
|
|
|
|
type Router struct{}
|
|
|
|
func NewRouter() *Router {
|
|
return &Router{}
|
|
}
|
|
|
|
// Register 注册路由
|
|
func (receiver *Router) Register() error {
|
|
cfg := config.Get()
|
|
// 从这里开始实例化路由注册器
|
|
var register = coco.NewRegister()
|
|
register.DefaultRouter(coco.WithListenAddress(cfg.ServerListen),
|
|
coco.WithGinMode(gin.DebugMode), coco.WithCors(), coco.WithRecovery())
|
|
register.RegisterStruct(wire.InitPastebinService())
|
|
_ = register.PreRun(func() error {
|
|
engine := register.RawEngine()
|
|
engine.Static("/assets", "./webui/dist/assets")
|
|
engine.NoRoute(func(ctx *gin.Context) {
|
|
ctx.File("./webui/dist/index.html")
|
|
})
|
|
return nil
|
|
})
|
|
logrus.Infof("api server: http://%s", cfg.ServerListen)
|
|
register.Run()
|
|
return nil
|
|
}
|