Skip to content

Commit

Permalink
✨ feat(client): UserGetInfo
Browse files Browse the repository at this point in the history
  • Loading branch information
iyear committed Nov 13, 2021
1 parent 3a45bc3 commit 4ac2ea4
Show file tree
Hide file tree
Showing 5 changed files with 185 additions and 0 deletions.
18 changes: 18 additions & 0 deletions bili_client.go
Original file line number Diff line number Diff line change
Expand Up @@ -2712,3 +2712,21 @@ func (b *BiliClient) LiveSendDanmaku(roomID int64, color int64, fontsize int, mo
)
return err
}
func (b *BiliClient) UserGetInfo(mid int64) (*UserInfo, error) {
resp, err := b.RawParse(
BiliApiURL,
"x/space/acc/info",
"GET",
map[string]string{
"mid": strconv.FormatInt(mid, 10),
},
)
if err != nil {
return nil, err
}
var r = &UserInfo{}
if err = json.Unmarshal(resp.Data, &r); err != nil {
return nil, err
}
return r, nil
}
9 changes: 9 additions & 0 deletions bili_client_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -1001,3 +1001,12 @@ func TestBiliClient_CommentReport2(t *testing.T) {
t.FailNow()
}
}
func TestBiliClient_UserGetInfo(t *testing.T) {
r, err := testBiliClient.UserGetInfo(2206456)
if err != nil {
t.Error(err)
t.FailNow()
}
t.Logf("mid: %d,name: %s,sex: %s,level: %d,sign: %s", r.MID, r.Name, r.Sex, r.Level, r.Sign)
t.Logf("live: %d,officialDesc: %s,nameplateName: %s,pendantName: %s,vip: %s", r.LiveRoom.LiveStatus, r.Official.Title, r.Nameplate.Name, r.Pendant.Name, r.Vip.Label.Text)
}
19 changes: 19 additions & 0 deletions comm_client.go
Original file line number Diff line number Diff line change
Expand Up @@ -1378,3 +1378,22 @@ func (c *CommClient) CommentGetReply(oid int64, tp int, root int64, pn int, ps i
}
return r, nil
}

func (c *CommClient) UserGetInfo(mid int64) (*UserInfo, error) {
resp, err := c.RawParse(
BiliApiURL,
"x/space/acc/info",
"GET",
map[string]string{
"mid": strconv.FormatInt(mid, 10),
},
)
if err != nil {
return nil, err
}
var r = &UserInfo{}
if err = json.Unmarshal(resp.Data, &r); err != nil {
return nil, err
}
return r, nil
}
9 changes: 9 additions & 0 deletions comm_client_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -637,3 +637,12 @@ func TestCommClient_CommentGetReply(t *testing.T) {
t.Logf("\tid: %d,uname: %s,likes: %d,content: %s", h.RPID, h.Member.Uname, h.Like, h.Content.Message)
}
}
func TestCommClient_UserGetInfo(t *testing.T) {
r, err := testCommClient.UserGetInfo(2206456)
if err != nil {
t.Error(err)
t.FailNow()
}
t.Logf("mid: %d,name: %s,sex: %s,level: %d,sign: %s", r.MID, r.Name, r.Sex, r.Level, r.Sign)
t.Logf("live: %d,officialDesc: %s,nameplateName: %s,pendantName: %s,vip: %s", r.LiveRoom.LiveStatus, r.Official.Title, r.Nameplate.Name, r.Pendant.Name, r.Vip.Label.Text)
}
130 changes: 130 additions & 0 deletions types.go
Original file line number Diff line number Diff line change
Expand Up @@ -2032,3 +2032,133 @@ type CommentReply struct {
MID int64 `json:"mid"`
} `json:"upper"`
}
type UserInfo struct {
MID int64 `json:"mid"` // mid
Name string `json:"name"` // 昵称
Sex string `json:"sex"` // 性别 男/女/保密
Face string `json:"face"` // 头像链接
Sign string `json:"sign"` // 签名
Rank int `json:"rank"` // 10000
Level int `json:"level"` // 当前等级 0-6级
JoinTime int64 `json:"jointime"` // 0
Moral int `json:"moral"` // 0
Silence int `json:"silence"` // 封禁状态 0:正常 1:被封
// 硬币数 需要登录(Cookie)
//
// 只能查看自己的
//
// 默认为0
Coins int `json:"coins"`
FansBadge bool `json:"fans_badge"` // 是否具有粉丝勋章 false:无 true:有
Official struct {
// 认证类型
//
// 0:无
//
// 1 2 7:个人认证
//
// 3 4 5 6:机构认证
Role int `json:"role"`
Title string `json:"title"` // 认证信息
Desc string `json:"desc"` // 认证备注
Type int `json:"type"` // 是否认证 -1:无 0:认证
} `json:"official"`
Vip struct {
// 会员类型
//
// 0:无
//
// 1:月大会员
//
// 2:年度及以上大会员
Type int `json:"type"`
Status int `json:"status"` // 会员状态 0:无 1:有
DueDate int64 `json:"due_date"` // 会员过期时间 Unix时间戳(毫秒)
VipPayType int `json:"vip_pay_type"` // 支付类型?
ThemeType int `json:"theme_type"` // 0
Label struct {
Path string `json:"path"` //
Text string `json:"text"` // 会员类型文案
// 会员标签
//
// vip:大会员
//
// annual_vip:年度大会员
//
// ten_annual_vip:十年大会员
//
// hundred_annual_vip:百年大会员
LabelTheme string `json:"label_theme"`
TextColor string `json:"text_color"` // 文字颜色
BgStyle int `json:"bg_style"` // 背景类型
BgColor string `json:"bg_color"` // 背景颜色
BorderColor string `json:"border_color"` // 边角颜色
} `json:"label"` //
AvatarSubscript int `json:"avatar_subscript"` // 是否显示会员图标 0:不显示 1:显示
NicknameColor string `json:"nickname_color"` // 会员昵称颜色 颜色码
Role int `json:"role"` //
AvatarSubscriptUrl string `json:"avatar_subscript_url"` // 会员图标url
} `json:"vip"` //
Pendant struct {
PID int64 `json:"pid"` // 头像框id
Name string `json:"name"` // 头像框名称
Image string `json:"image"` // 头像框图片url
Expire int64 `json:"expire"` // 0
ImageEnhance string `json:"image_enhance"` //
ImageEnhanceFrame string `json:"image_enhance_frame"` //
} `json:"pendant"` //
Nameplate struct {
NID int `json:"nid"` // 勋章id
Name string `json:"name"` // 勋章名称
Image string `json:"image"` // 挂件图片url 正常
ImageSmall string `json:"image_small"` // 勋章图片url 小
Level string `json:"level"` // 勋章等级
Condition string `json:"condition"` // 勋章条件
} `json:"nameplate"` //
// 是否关注此用户 true:已关注 false:未关注
//
// 需要登录(Cookie)
//
// 未登录恒为false
IsFollowed bool `json:"is_followed"` //
TopPhoto string `json:"top_photo"` // 主页头图链接
SysNotice struct {
// 系统提示类型id
//
// 8:争议账号
//
// 20:纪念账号
//
// 22:合约诉讼
ID int `json:"id"`
Content string `json:"content"` // 提示文案
URL string `json:"url"` // 提示信息页面url
NoticeType int `json:"notice_type"` //
Icon string `json:"icon"` // 提示图标url
TextColor string `json:"text_color"` // 提示文字颜色
BgColor string `json:"bg_color"` // 提示背景颜色
} `json:"sys_notice"` //
LiveRoom struct {
RoomStatus int `json:"roomStatus"` // 直播间状态 0:无房间 1:有房间
RoundStatus int `json:"roundStatus"` // 轮播状态 0:未轮播 1:轮播
LiveStatus int `json:"liveStatus"` // 直播状态 0:未开播 1:直播中
URL string `json:"url"` // 直播间网页url
Title string `json:"title"` // 直播间标题
Cover string `json:"cover"` // 直播间封面url
Online int `json:"online"` // 直播间人气 值为上次直播时刷新
RoomID int `json:"roomid"` // 直播间id(真实ID)
BroadcastType int `json:"broadcast_type"` // 0
OnlineHidden int `json:"online_hidden"` // 已废弃
} `json:"live_room"` //
Birthday string `json:"birthday"` // 生日 MM-DD 如设置隐私为空
School struct {
Name string `json:"name"` // 就读大学名称
} `json:"school"` //
Profession struct {
Name string `json:"name"` //
} `json:"profession"` //
Series struct {
UserUpgradeStatus int `json:"user_upgrade_status"` //
ShowUpgradeWindow bool `json:"show_upgrade_window"` //
} `json:"series"` //
}

0 comments on commit 4ac2ea4

Please sign in to comment.