fix: 安装时创建管理员用户,登录从数据库验证
Build and Deploy / build (push) Failing after 1m49s
Build and Deploy / deploy (push) Has been skipped

This commit is contained in:
2026-07-16 18:50:54 +00:00
parent 67bef239b0
commit a6b03a6152
3 changed files with 48 additions and 25 deletions
+17 -15
View File
@@ -4,6 +4,7 @@ import (
"net/http"
"anticaptcha/internal/captcha"
"anticaptcha/internal/database"
"anticaptcha/internal/middleware"
"anticaptcha/internal/model"
@@ -86,24 +87,25 @@ func (h *CaptchaHandler) Login(c *gin.Context) {
return
}
// TODO: 验证用户密码
if req.Username == "admin" && req.Password == "admin" {
token, err := middleware.GenerateToken(1, "admin", "admin")
if err != nil {
c.JSON(http.StatusInternalServerError, gin.H{"error": "生成令牌失败"})
return
}
c.JSON(http.StatusOK, model.LoginResponse{
AccessToken: token,
TokenType: "bearer",
Role: "admin",
Balance: 1000000,
})
// 从数据库验证用户
user, err := database.ValidateUser(req.Username, req.Password)
if err != nil {
c.JSON(http.StatusUnauthorized, gin.H{"error": "用户名或密码错误"})
return
}
c.JSON(http.StatusUnauthorized, gin.H{"error": "用户名或密码错误"})
token, err := middleware.GenerateToken(int(user.ID), user.Username, string(user.Role))
if err != nil {
c.JSON(http.StatusInternalServerError, gin.H{"error": "生成令牌失败"})
return
}
c.JSON(http.StatusOK, model.LoginResponse{
AccessToken: token,
TokenType: "bearer",
Role: string(user.Role),
Balance: user.Balance,
})
}
// 验证令牌