35 lines
735 B
Go
35 lines
735 B
Go
package xhttp
|
|
|
|
import (
|
|
"context"
|
|
"encoding/json"
|
|
|
|
"github.com/zeromicro/go-zero/core/logx"
|
|
)
|
|
|
|
// CtxKeyJwtUserId get uid from ctx
|
|
var CtxKeyJwtUserId = "jwtUserId"
|
|
|
|
// CtxKeyJwtOpenId get openid from ctx
|
|
var CtxKeyJwtOpenId = "jwtOpenId"
|
|
|
|
func GetUidFromCtx(ctx context.Context) int64 {
|
|
var uid int64
|
|
if jsonUid, ok := ctx.Value(CtxKeyJwtUserId).(json.Number); ok {
|
|
if int64Uid, err := jsonUid.Int64(); err == nil {
|
|
uid = int64Uid
|
|
} else {
|
|
logx.WithContext(ctx).Errorf("GetUidFromCtx err : %+v", err)
|
|
}
|
|
}
|
|
return uid
|
|
}
|
|
|
|
func GetOidFromCtx(ctx context.Context) string {
|
|
if jsonUid, ok := ctx.Value(CtxKeyJwtOpenId).(string); ok {
|
|
return jsonUid
|
|
}
|
|
logx.WithContext(ctx).Error("GetOidFromCtx failed")
|
|
return ""
|
|
}
|