package utils import ( "context" "mingyang-admin-app-rpc/types/app" ) const ( UserContent = "userContent" ) // UserContext RequestContext 请求上下文信息(API 和 RPC 共享) type UserContext struct { Token string // 原始 token 字符串 UserID uint64 // 用户ID TokenClaims *app.AuthInfoResp // token 解析后的 claims ClientIP string // 客户端IP UserAgent string // User-Agent } // GetRequestContext 从上下文获取请求上下文(RPC 层) // 从上下文获取请求上下文 func GetRequestContext(ctx context.Context) *UserContext { value := ctx.Value(UserContent) if value == nil { return nil } reqCtx, ok := value.(*UserContext) if !ok { return nil } return reqCtx }