Files
hk4e/gm/controller/controller.go
2023-02-18 22:09:59 +08:00

57 lines
1016 B
Go

package controller
import (
"net/http"
"strconv"
"hk4e/common/config"
"hk4e/common/rpc"
"hk4e/pkg/logger"
"github.com/gin-gonic/gin"
)
type Controller struct {
gm *rpc.GMClient
}
func NewController(gm *rpc.GMClient) (r *Controller) {
r = new(Controller)
r.gm = gm
go r.registerRouter()
return r
}
func (c *Controller) authorize() gin.HandlerFunc {
return func(context *gin.Context) {
if true {
// 验证通过
context.Next()
return
}
// 验证不通过
context.Abort()
context.JSON(http.StatusOK, gin.H{
"code": "10001",
"msg": "没有访问权限",
})
}
}
func (c *Controller) registerRouter() {
if config.GetConfig().Logger.Level == "DEBUG" {
gin.SetMode(gin.DebugMode)
} else {
gin.SetMode(gin.ReleaseMode)
}
engine := gin.Default()
engine.Use(c.authorize())
engine.POST("/gm/cmd", c.gmCmd)
port := config.GetConfig().HttpPort
addr := ":" + strconv.Itoa(int(port))
err := engine.Run(addr)
if err != nil {
logger.Error("gin run error: %v", err)
}
}