| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- 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,
- },
- })
- }
- }
|