// Package common 公共包 package common import ( "fmt" "server/modules/system/entity" "github.com/gin-gonic/gin" ) // GetLoginUser 从上下文获取当前登录用户 // 在Controller中使用: user := common.GetLoginUser(c) func GetLoginUser(c *gin.Context) *entity.LoginUser { value, exists := c.Get(ContextUserKey) if !exists { return nil } if user, ok := value.(*entity.LoginUser); ok { return user } return nil } // GetLoginUserID 获取当前登录用户ID func GetLoginUserID(c *gin.Context) string { user := GetLoginUser(c) if user != nil { return user.ID } return "" } // GetLoginUsername 获取当前登录用户名 func GetLoginUsername(c *gin.Context) string { user := GetLoginUser(c) if user != nil { return user.Username } return "" } // GetPage 从上下文获取页码 func GetPage(c *gin.Context) int { pageStr := c.DefaultQuery("page", "1") var page int fmt.Sscanf(pageStr, "%d", &page) if page < 1 { page = 1 } return page } // GetSize 从上下文获取每页大小 func GetSize(c *gin.Context) int { sizeStr := c.DefaultQuery("size", "10") var size int fmt.Sscanf(sizeStr, "%d", &size) if size < 1 { size = 10 } return size }