添加用户唯一标识
This commit is contained in:
parent
68d965c390
commit
2a8ce91534
25
user.go
25
user.go
@ -5,7 +5,9 @@ import (
|
||||
"fmt"
|
||||
"io"
|
||||
"net/http"
|
||||
"net/url"
|
||||
"os"
|
||||
"strconv"
|
||||
"strings"
|
||||
"time"
|
||||
)
|
||||
@ -144,6 +146,29 @@ func (u *User) IsPin() bool {
|
||||
return u.ContactFlag == 2051
|
||||
}
|
||||
|
||||
// ID 获取用户的唯一标识 只对当前登录的用户有效
|
||||
// ID 和 UserName 的区别是 ID 多次登录不会变化,而 UserName 只针对当前登录会话有效
|
||||
func (u *User) ID() string {
|
||||
// 首先尝试获取uid
|
||||
if u.Uin != 0 {
|
||||
return strconv.FormatInt(u.Uin, 10)
|
||||
}
|
||||
// 如果uid不存在,尝试从头像url中获取
|
||||
if u.HeadImgUrl != "" {
|
||||
index := strings.Index(u.HeadImgUrl, "?") + 1
|
||||
if len(u.HeadImgUrl) > index {
|
||||
query := u.HeadImgUrl[index:]
|
||||
params, err := url.ParseQuery(query)
|
||||
if err != nil {
|
||||
return ""
|
||||
}
|
||||
return params.Get("seq")
|
||||
|
||||
}
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
// 格式化emoji表情
|
||||
func (u *User) formatEmoji() {
|
||||
u.NickName = FormatEmoji(u.NickName)
|
||||
|
Loading…
x
Reference in New Issue
Block a user