package handlers import ( "license-admin/middleware" "net/http" "github.com/gin-gonic/gin" ) // LoginRequest 登录请求结构 type LoginRequest struct { Token string `json:"token" binding:"required"` // 认证token } // LoginResponse 登录响应结构 type LoginResponse struct { Code int `json:"code"` // 状态码:0 表示成功,非0 表示失败 Msg string `json:"msg"` // 响应消息 Data struct { Token string `json:"token"` // 返回的token(用于前端存储) } `json:"data,omitempty"` } // Login 登录接口 // POST /api/login func Login() gin.HandlerFunc { return func(c *gin.Context) { var req LoginRequest if err := c.ShouldBindJSON(&req); err != nil { c.JSON(http.StatusBadRequest, LoginResponse{ Code: 400, Msg: "请求参数错误: " + err.Error(), }) return } // 验证token expectedToken := middleware.GetAuthToken() if req.Token != expectedToken { c.JSON(http.StatusUnauthorized, LoginResponse{ Code: 401, Msg: "Token 无效", }) return } // 登录成功 c.JSON(http.StatusOK, LoginResponse{ Code: 0, Msg: "登录成功", Data: struct { Token string `json:"token"` }{ Token: req.Token, }, }) } }