fix(account): 将删除账号接口从GET改为POST方法
Build docker and publish / build (20.15.1) (push) Successful in 6m55s

修复删除账号接口的安全问题,GET方法不应用于敏感操作
同时增加邮箱验证码校验,提高账号安全性
```

```msg
feat(auth): 在设备登录时更新用户代理信息

添加设备登录时更新用户代理(UA)的逻辑
确保设备信息保持最新状态
```

```msg
refactor(handler): 重构删除账号处理器的验证逻辑

将邮箱验证码校验逻辑提取为独立函数
提高代码可维护性和复用性
This commit is contained in:
2025-10-31 01:59:14 -07:00
parent b1e9382e73
commit ccdcfd3430
3 changed files with 58 additions and 1 deletions
+11
View File
@@ -43,6 +43,7 @@ func (l *DeviceLoginLogic) DeviceLogin(req *types.DeviceLoginRequest) (resp *typ
var userInfo *user.User
// Record login status
defer func() {
if userInfo != nil && userInfo.Id != 0 {
loginLog := log.Login{
Method: "device",
@@ -95,6 +96,16 @@ func (l *DeviceLoginLogic) DeviceLogin(req *types.DeviceLoginRequest) (resp *typ
}
}
// 根据 req 中的UA 更新UA
deviceInfo.UserAgent = req.UserAgent
if err := l.svcCtx.UserModel.UpdateDevice(l.ctx, deviceInfo); err != nil {
l.Errorw("update user agent failed",
logger.Field("device_id", deviceInfo.Id),
logger.Field("error", err.Error()),
)
return nil, errors.Wrapf(xerr.NewErrCode(xerr.DatabaseUpdateError), "update user agent failed: %v", err.Error())
}
// Generate session id
sessionId := uuidx.NewUUID().String()