refactor(login): 重构登录逻辑并优化用户信息获取

- 移除 controller 中的测试代码和不必要的注释
- 优化 login.go 中的用户信息获取逻辑,从 PlayerService 中获取玩家信息
- 删除 LoginSidInfo.go 中的冗余代码和未使用的函数
- 更新 admin 控制器中的 GetSession 方法,返回用户 ID 和 session
- 调整 base_sys_user 模型,移除冗余字段和注释
- 新增 GetPerson 方法在 base_sys_user 服务中获取用户信息
- 在 player 模型中添加 NewPlayerInfo 函数创建默认玩家信息
This commit is contained in:
2025-08-22 22:40:32 +08:00
parent 49e25d42b9
commit bc4bd7eba6
11 changed files with 226 additions and 79 deletions

View File

@@ -44,24 +44,37 @@ func (c *BaseSysUserController) Move(ctx context.Context, req *UserMoveReq) (res
return
}
func (c *BaseSysUserController) GetSession(ctx context.Context, req *SessionReq) (res *cool.BaseRes, err error) {
func (c *BaseSysUserController) GetSession(ctx context.Context, req *SessionReq) (res *SessionRes, err error) {
t := cool.GetAdmin(ctx)
if t == nil || t.UserId == 0 {
return cool.Fail("未登录"), nil
return &SessionRes{}, nil
}
retsid, sid, err := blazing_service.NewLoginServiceService().GetSessionId(t.UserId)
if err != nil {
return cool.Fail(err.Error()), nil
return &SessionRes{}, nil
}
res = &SessionRes{}
t1 := service.NewBaseSysUserService().GetPerson(t.UserId)
res.Session = retsid
if !blazing_service.NewPlayerService().IsReg(t1.ID) {
res.UserID = int(t1.ID)
}
res = cool.Ok(nil)
res.Data = retsid
if err := share.ShareManager.SaveSession(sid, uint32(t.UserId)); err != nil {
return cool.Fail(err.Error()), nil
return &SessionRes{}, nil
}
return
}
type SessionRes struct {
UserID int `json:"userid"`
Session string `json:"session"`
}

View File

@@ -12,12 +12,13 @@ type BaseSysUser struct {
Username string `gorm:"column:username;type:varchar(100);not null;Index" json:"username"` // 用户名
Password string `gorm:"column:password;type:varchar(255);not null" json:"password"` // 密码
PasswordV *int32 `gorm:"column:passwordV;type:int;not null;default:1" json:"passwordV"` // 密码版本, 作用是改完密码让原来的token失效
NickName *string `gorm:"column:nickName;type:varchar(255)" json:"nickName"` // 昵称
HeadImg *string `gorm:"column:headImg;type:varchar(255)" json:"headImg"` // 头像
Phone *string `gorm:"column:phone;type:varchar(20);index" json:"phone"` // 手机
Email *string `gorm:"column:email;type:varchar(255)" json:"email"` // 邮箱
Status *int32 `gorm:"column:status;not null;default:1" json:"status"` // 状态 0:禁用 1启用
Remark *string `gorm:"column:remark;type:varchar(255)" json:"remark"` // 备注
HeadImg *string `gorm:"column:headImg;type:varchar(255)" json:"headImg"` // 头像
//Phone *string `gorm:"column:phone;type:varchar(20);index" json:"phone"` // 手机
Email *string `gorm:"column:email;type:varchar(255)" json:"email"` // 邮箱
Status *int32 `gorm:"column:status;not null;default:1" json:"status"` // 状态 0:禁用 1启用
Remark *string `gorm:"column:remark;type:varchar(255)" json:"remark"` // 备注
//Role bool `gorm:"column:isNew;type:bool;not null;default:0" json:"isNew"` //
//SocketID *string `gorm:"column:socketId;type:varchar(255)" json:"socketId"` // socketId
}

View File

@@ -38,6 +38,12 @@ func (s *BaseSysUserService) GetSession(email string, password string) (res *mod
return
}
func (s *BaseSysUserService) GetPerson(userId uint) (res *model.BaseSysUser) {
m := cool.DBM(s.Model)
m.Where("id", userId).FieldsEx("password").Scan(&res)
return
}
func (s *BaseSysUserService) ModifyBefore(ctx context.Context, method string, param g.MapStrAny) (err error) {
if method == "Delete" {
// 禁止删除超级管理员