contracts/user.go

26 lines
450 B
Go

package contracts
type User interface {
// 用户ID
ID() int64
// 用户UUID
Uuid() string
// 用户名称
Username() string
// 用户昵称
Nickname() string
// 用户明细
GetUserInfo() map[string]any
// 用户权限
Roles() []string
// 用户权限检查
HasUserRoles(roles ...string) bool
// 平台
Platform() string
// 是否匿名用户
IsAnonymous() bool
}
// 用户
type GetUser func(uuid, platform string) (User, error)