mirror of
https://github.com/FlourishingWorld/hk4e.git
synced 2026-02-04 18:42:26 +08:00
57 lines
1016 B
Go
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)
|
|
}
|
|
}
|