@@ -49,7 +49,7 @@ func LoginHandler(c *gin.Context) {
// 绑定并验证请求参数( JSON格式)
// 绑定并验证请求参数( JSON格式)
if err := c . ShouldBindJSON ( & req ) ; err != nil {
if err := c . ShouldBindJSON ( & req ) ; err != nil {
// 绑定失败时记录警告日志,并返回错误响应
// 绑定失败时记录警告日志,并返回错误响应
zap . L ( ) . Warn ( "⚠ ️ 请求参数绑定失败" ,
zap . L ( ) . Warn ( "❗ ️ 请求参数绑定失败" ,
zap . String ( "reqID" , reqID ) ,
zap . String ( "reqID" , reqID ) ,
zap . Error ( err ) ,
zap . Error ( err ) ,
zap . Any ( "请求体" , c . Request . Body ) ,
zap . Any ( "请求体" , c . Request . Body ) ,
@@ -68,7 +68,7 @@ func LoginHandler(c *gin.Context) {
// 1. 二次校验账号和密码是否为空(双重保险,防止校验规则被绕过)
// 1. 二次校验账号和密码是否为空(双重保险,防止校验规则被绕过)
if req . Account == "" || req . Password == "" {
if req . Account == "" || req . Password == "" {
zap . L ( ) . Warn ( "⚠ ️ 账号或密码为空" ,
zap . L ( ) . Warn ( "❗ ️ 账号或密码为空" ,
zap . String ( "reqID" , reqID ) ,
zap . String ( "reqID" , reqID ) ,
zap . String ( "账号" , req . Account ) ,
zap . String ( "账号" , req . Account ) ,
)
)
@@ -98,7 +98,7 @@ func LoginHandler(c *gin.Context) {
switch {
switch {
case err == sql . ErrNoRows :
case err == sql . ErrNoRows :
// 账号不存在或已被删除的情况
// 账号不存在或已被删除的情况
zap . L ( ) . Warn ( "⚠ ️ 账号不存在或已删除" ,
zap . L ( ) . Warn ( "❗ ️ 账号不存在或已删除" ,
zap . String ( "reqID" , reqID ) ,
zap . String ( "reqID" , reqID ) ,
zap . String ( "账号" , req . Account ) ,
zap . String ( "账号" , req . Account ) ,
)
)
@@ -131,7 +131,7 @@ func LoginHandler(c *gin.Context) {
err = bcrypt . CompareHashAndPassword ( [ ] byte ( storedPassword ) , [ ] byte ( req . Password ) )
err = bcrypt . CompareHashAndPassword ( [ ] byte ( storedPassword ) , [ ] byte ( req . Password ) )
if err != nil {
if err != nil {
// 密码不匹配的情况
// 密码不匹配的情况
zap . L ( ) . Warn ( "⚠ ️ 密码验证失败" ,
zap . L ( ) . Warn ( "❗ ️ 密码验证失败" ,
zap . String ( "reqID" , reqID ) ,
zap . String ( "reqID" , reqID ) ,
zap . String ( "账号" , req . Account ) ,
zap . String ( "账号" , req . Account ) ,
zap . Error ( err ) ,
zap . Error ( err ) ,