web
This commit is contained in:
@@ -36,6 +36,19 @@ type LoginRequest struct {
|
||||
Code string `json:"code" binding:"required"`
|
||||
}
|
||||
|
||||
// EmailLoginRequest 邮箱登录请求结构
|
||||
type EmailLoginRequest struct {
|
||||
Email string `json:"email" binding:"required,email"`
|
||||
Password string `json:"password" binding:"required,min=6"`
|
||||
}
|
||||
|
||||
// EmailRegisterRequest 邮箱注册请求结构
|
||||
type EmailRegisterRequest struct {
|
||||
Email string `json:"email" binding:"required,email"`
|
||||
Password string `json:"password" binding:"required,min=6"`
|
||||
Nickname string `json:"nickname" binding:"required"`
|
||||
}
|
||||
|
||||
// WeChatLoginRequest 微信登录请求结构
|
||||
type WeChatLoginRequest struct {
|
||||
Code string `json:"code" binding:"required"`
|
||||
@@ -128,6 +141,56 @@ func (h *UserHandler) WeChatLogin(c *gin.Context) {
|
||||
})
|
||||
}
|
||||
|
||||
// EmailLogin 邮箱登录(Web端使用)
|
||||
func (h *UserHandler) EmailLogin(c *gin.Context) {
|
||||
var req EmailLoginRequest
|
||||
if err := c.ShouldBindJSON(&req); err != nil {
|
||||
response.BadRequest(c, "参数错误")
|
||||
return
|
||||
}
|
||||
|
||||
// 获取客户端IP和UserAgent
|
||||
clientIP := utils.GetClientIP(
|
||||
c.ClientIP(),
|
||||
c.GetHeader("X-Forwarded-For"),
|
||||
c.GetHeader("X-Real-IP"),
|
||||
)
|
||||
userAgent := c.Request.UserAgent()
|
||||
|
||||
// 调用用户服务进行邮箱登录
|
||||
user, token, err := h.userService.EmailLogin(req.Email, req.Password, clientIP, userAgent)
|
||||
if err != nil {
|
||||
response.ErrorWithMessage(c, response.ERROR, err.Error())
|
||||
return
|
||||
}
|
||||
|
||||
response.Success(c, gin.H{
|
||||
"user": user,
|
||||
"token": token,
|
||||
})
|
||||
}
|
||||
|
||||
// EmailRegister 邮箱注册(Web端使用)
|
||||
func (h *UserHandler) EmailRegister(c *gin.Context) {
|
||||
var req EmailRegisterRequest
|
||||
if err := c.ShouldBindJSON(&req); err != nil {
|
||||
response.BadRequest(c, "参数错误")
|
||||
return
|
||||
}
|
||||
|
||||
// 调用用户服务进行注册
|
||||
user, err := h.userService.EmailRegister(req.Email, req.Password, req.Nickname)
|
||||
if err != nil {
|
||||
response.ErrorWithMessage(c, response.ERROR, err.Error())
|
||||
return
|
||||
}
|
||||
|
||||
response.Success(c, gin.H{
|
||||
"user_id": user.ID,
|
||||
"message": "注册成功",
|
||||
})
|
||||
}
|
||||
|
||||
// GetWeChatSession 获取微信会话信息
|
||||
func (h *UserHandler) GetWeChatSession(c *gin.Context) {
|
||||
userID, exists := c.Get("user_id")
|
||||
|
||||
Reference in New Issue
Block a user