Merge pull request #131 from eatmoreapple/add-user-identity

This commit is contained in:
多吃点苹果 2022-11-27 13:16:35 +08:00 committed by GitHub
commit 854cafcc44
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

25
user.go
View File

@ -5,7 +5,9 @@ import (
"fmt" "fmt"
"io" "io"
"net/http" "net/http"
"net/url"
"os" "os"
"strconv"
"strings" "strings"
"time" "time"
) )
@ -144,6 +146,29 @@ func (u *User) IsPin() bool {
return u.ContactFlag == 2051 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表情 // 格式化emoji表情
func (u *User) formatEmoji() { func (u *User) formatEmoji() {
u.NickName = FormatEmoji(u.NickName) u.NickName = FormatEmoji(u.NickName)