feat(middleware): 添加WebSocket服务端处理器

添加了WebSocket服务端处理器,支持WebSocket连接的升级和处理,
包括授权验证功能的实现

fix(fight): 修复NPC战斗逻辑中的问题

移除了NPC回合结束时的调试输出,优化了NPC技能选择逻辑,
确保只选择可使用的技能,并添加了NPC动作执行
This commit is contained in:
2026-01-07 02:30:21 +08:00
parent f5eb445aa0
commit 3c5b9a4ce8
7 changed files with 183 additions and 49 deletions

View File

@@ -84,4 +84,43 @@ func init() {
go socket.ReadLoop()
})
g.Server().BindHandler("/server/*", func(r *ghttp.Request) {
tt := new(ServerHandler)
upgrader := gws.NewUpgrader(tt, &gws.ServerOption{
Authorize: func(rt *http.Request, session gws.SessionStorage) bool {
//r.s\\\
// r.Get("t")
// admin := cool.GetAdmin(rt.Context())
// if admin.UserId != 10001 {
// return false
// }
// var name = r.URL.Query().Get("name")
// if name == "" {
// return false
// }
// t, _ := service.NewBaseSysUserService().Person(admin.UserID)
//Loger.Debug(context.TODO(), t.Mimi)
// session.Store("name", t.Mimi)
//session.Store("key", r.Header.Get("Sec-WebSocket-Key"))
return true
},
})
socket, err := upgrader.Upgrade(r.Response.Writer, r.Request)
if err != nil {
fmt.Println(err)
return
}
// ants.Submit(func() {
// socket.ReadLoop()
// })
// ants.Submit(func() { socket.ReadLoop() })
go socket.ReadLoop()
})
}