本文整理汇总了Golang中github.com/keybase/client/go/protocol.UserPlusKeys.Uid方法的典型用法代码示例。如果您正苦于以下问题:Golang UserPlusKeys.Uid方法的具体用法?Golang UserPlusKeys.Uid怎么用?Golang UserPlusKeys.Uid使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/keybase/client/go/protocol.UserPlusKeys
的用法示例。
在下文中一共展示了UserPlusKeys.Uid方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: LoadUserPlusKeys
func LoadUserPlusKeys(g *GlobalContext, uid keybase1.UID, cacheOK bool) (keybase1.UserPlusKeys, error) {
var up keybase1.UserPlusKeys
if uid.IsNil() {
return up, fmt.Errorf("Nil UID")
}
arg := NewLoadUserArg(g)
arg.UID = uid
arg.PublicKeyOptional = true
u, err := LoadUser(arg)
if err != nil {
return up, err
}
if u == nil {
return up, fmt.Errorf("Nil user, nil error from LoadUser")
}
// export user to UserPlusKeys
up.Uid = u.GetUID()
up.Username = u.GetNormalizedName().String()
if u.GetComputedKeyFamily() != nil {
up.DeviceKeys = u.GetComputedKeyFamily().ExportDeviceKeys()
}
return up, nil
}
示例2: LoadUserPlusKeys
func LoadUserPlusKeys(g *GlobalContext, uid keybase1.UID, cacheOK bool) (keybase1.UserPlusKeys, error) {
var up keybase1.UserPlusKeys
if uid.IsNil() {
return up, fmt.Errorf("Nil UID")
}
if cacheOK {
up, err := g.UserCache.Get(uid)
if err == nil {
return *up, nil
}
if err != nil {
// not going to bail on cache error, just log it:
if _, ok := err.(NotFoundError); !ok {
g.Log.Debug("UserCache Get error: %s", err)
}
}
}
arg := NewLoadUserArg(g)
arg.UID = uid
arg.PublicKeyOptional = true
u, err := LoadUser(arg)
if err != nil {
return up, err
}
if u == nil {
return up, fmt.Errorf("Nil user, nil error from LoadUser")
}
// export user to UserPlusKeys
up.Uid = u.GetUID()
up.Username = u.GetNormalizedName().String()
if u.GetComputedKeyFamily() != nil {
up.DeviceKeys = u.GetComputedKeyFamily().ExportDeviceKeys()
}
err = g.UserCache.Insert(&up)
if err != nil {
g.Log.Debug("UserCache Set error: %s", err)
}
return up, nil
}