package auth2 import ( "time" "git.rosy.net.cn/jx-callback/business/model" ) const ( TokenTypeNone = 0 TokenTypeNormal = 1 TokenTypeOnlyAuth = 2 ) type UserBasic struct { UserID string UserID2 string Mobile string Email string Name string } func (u *UserBasic) GetID() string { return u.UserID } func (u *UserBasic) GetID2() string { return u.UserID2 } func (u *UserBasic) GetMobile() string { return u.Mobile } func (u *UserBasic) GetEmail() string { return u.Email } func (u *UserBasic) GetName() string { return u.Name } func (u *UserBasic) UpdateByIUser(user IUser) { if user != nil { u.UserID = user.GetID() u.UserID2 = user.GetID2() u.Mobile = user.GetMobile() u.Email = user.GetEmail() u.Name = user.GetName() } } func (u *UserBasic) IsUserEmpty() bool { return u.UserID == "" } type AuthBindEx struct { model.AuthBind UserData interface{} UserHint *UserBasic } type AuthInfo struct { UserBasic AuthBindInfo *AuthBindEx LoginTime time.Time ExpiresIn int64 Token string TokenType int // TOKEN类型, } func (a *AuthInfo) GetAuthID() string { return a.AuthBindInfo.AuthID } func (a *AuthInfo) GetAuthType() string { return a.AuthBindInfo.Type } func (a *AuthInfo) GetUserTag() string { userTag := a.UserID2 if userTag == "" { if a.AuthBindInfo.UserHint != nil { userTag = a.AuthBindInfo.UserHint.Mobile } if userTag == "" { userTag = a.AuthBindInfo.AuthID } } return userTag }