| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- package web
- import (
- cherryApp "f1-game/internal/cherry_app"
- checkCenter "f1-game/internal/component/check_center"
- funcLoad "f1-game/internal/component/func_load"
- cgops "f1-game/internal/component/gops"
- "f1-game/internal/component/rate"
- "f1-game/internal/component/redis"
- "f1-game/internal/component/sdk"
- "f1-game/internal/data"
- "f1-game/nodes/web/controller"
- "github.com/cherry-game/cherry"
- csnowflake "github.com/cherry-game/cherry/extend/snowflake"
- cfacade "github.com/cherry-game/cherry/facade"
- cgin "github.com/cherry-game/components/gin"
- )
- func Run(node cfacade.INode) {
- app := cherry.ConfigureNode(
- node,
- false,
- cherry.Cluster,
- )
- app.Register(initFunc())
- app.Register(cgops.New())
- app.Register(data.NewConfigs(
- data.SDK,
- data.RateLimiter,
- data.Area,
- data.AreaServer,
- ))
- app.Register(redis.NewClients(
- redis.GUID,
- redis.Center,
- ))
- app.Register(checkCenter.New())
- app.Register(rate.New())
- app.Register(sdk.New())
- registerWebServer(app)
- app.Startup()
- }
- func initFunc() cfacade.IComponent {
- fn := func(app cfacade.IApplication) {
- csnowflake.InitDefaultNode(app.NodeID())
- cherryApp.Init(app)
- }
- return funcLoad.New("initFunc", fn)
- }
- func registerWebServer(app *cherry.AppBuilder) {
- // new http server
- webServer := cgin.NewHttp("web_server", app.Address())
- webServer.Use(cgin.Cors())
- webServer.Use(cgin.RecoveryWithZap(true))
- webServer.Use(rate.GinRateWithIP())
- webServer.Register(
- new(controller.IndexController),
- new(controller.DevController),
- new(controller.LoginController),
- new(controller.PayController),
- new(controller.PlayerController),
- new(controller.ServerController),
- )
- app.Register(webServer)
- }
|