- 在挑战BOSS和野外怪物战斗前,增加 CanFight 状态检查,防止非法战斗 - 修复战斗胜利后经验与物品发放逻辑,增加 CanGetExp 判断避免重复获取 - 优化战斗中精灵切换逻辑与相关伤害效果处理,确保死亡标记正确设置 - 修正战斗轮次中被动切换行为及技能执行顺序问题 - 移除无用的管理员会话控制器和宠物融合模型代码 - 调整战斗输入结构体中的 Switch 类型为 Map 以提高查找效率 - 修复战斗中精灵存活判定条件,
86 lines
1.7 KiB
Go
86 lines
1.7 KiB
Go
package app
|
|
|
|
import (
|
|
"blazing/common/data/share"
|
|
"blazing/cool"
|
|
baseservice "blazing/modules/base/service"
|
|
"blazing/modules/blazing/service"
|
|
|
|
"context"
|
|
"fmt"
|
|
|
|
"github.com/gogf/gf/v2/frame/g"
|
|
)
|
|
|
|
type SessionReq struct {
|
|
g.Meta `path:"/getSessionByAuth" method:"GET"`
|
|
Email string `json:"email" v:"required|email"`
|
|
Password string `json:"password" v:"required"`
|
|
}
|
|
type SessionRes struct {
|
|
Msg string `json:"msg"`
|
|
Code int `json:"code"`
|
|
Session string `json:"session"`
|
|
}
|
|
|
|
type BlazingController struct {
|
|
*cool.Controller
|
|
}
|
|
|
|
var biazing_service = service.NewLoginServiceService()
|
|
|
|
func init() {
|
|
var blazing_controller = &BlazingController{
|
|
&cool.Controller{
|
|
Prefix: "/seer/game",
|
|
Api: []string{},
|
|
Service: biazing_service,
|
|
},
|
|
}
|
|
// 注册路由
|
|
cool.RegisterController(blazing_controller)
|
|
}
|
|
func (c *BlazingController) GetSession(ctx context.Context, req *SessionReq) (res *SessionRes, err error) {
|
|
|
|
res = &SessionRes{
|
|
Msg: "success",
|
|
Code: 200,
|
|
Session: ""}
|
|
if err := g.Validator().Data(req).Run(ctx); err != nil {
|
|
fmt.Println(err)
|
|
res.Code = 400
|
|
res.Msg = err.Error()
|
|
|
|
}
|
|
res1, err := baseservice.NewBaseSysUserService().GetSession(req.Email, req.Password)
|
|
|
|
if err != nil || res1 == nil {
|
|
res.Code = 400
|
|
res.Msg = err.Error()
|
|
return
|
|
}
|
|
|
|
accountID := res1.ID
|
|
retsid, sid, err := biazing_service.GetSessionId(accountID)
|
|
if err != nil {
|
|
res.Code = 400
|
|
res.Msg = err.Error()
|
|
|
|
}
|
|
|
|
res.Session = retsid
|
|
|
|
if err := share.ShareManager.SaveSession(sid, uint32(accountID)); err != nil {
|
|
res.Code = 400
|
|
res.Msg = err.Error()
|
|
}
|
|
|
|
return
|
|
}
|
|
|
|
type MockReq struct {
|
|
g.Meta `path:"/mock" method:"GET"`
|
|
Email string `json:"email" v:"required|email"`
|
|
Password string `json:"password" v:"required"`
|
|
}
|