完善认证逻辑,添加用户信息 introspect 接口,更新 .gitignore 忽略 scripts 目录

This commit is contained in:
2025-04-26 17:59:34 +08:00
parent 08c88da0ce
commit 3e837b5fec
13 changed files with 67 additions and 1378 deletions

View File

@@ -1,7 +1,6 @@
package handlers
import (
"errors"
"platform/web/auth"
q "platform/web/queries"
s "platform/web/services"
@@ -9,48 +8,8 @@ import (
"time"
"github.com/gofiber/fiber/v2"
"gorm.io/gorm"
)
// region GetUserByToken
type GetUserByTokenReq struct {
Token string `json:"token" validate:"required"`
}
// GetUserByToken 通过token获取用户信息
func GetUserByToken(c *fiber.Ctx) error {
// 解析请求参数
req := new(GetUserByTokenReq)
if err := c.BodyParser(req); err != nil {
return err
}
// 查询会话信息
session, err := s.Session.Find(c.Context(), req.Token)
if err != nil {
return err
}
// 查询用户信息
user, err := q.User.Debug().
Omit(q.User.Password, q.User.DeletedAt).
Where(q.User.ID.Eq(session.Payload.Id)).
Take()
if err != nil {
if errors.Is(err, gorm.ErrRecordNotFound) {
return fiber.NewError(fiber.StatusNotFound, "用户不存在")
}
return err
}
// 返回用户信息
return c.JSON(user)
}
// endregion
// region recharge
type RechargePrepareReq struct {