123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108 |
- package model
- import (
- "regexp"
- "strings"
- )
- const (
- //UserTypeUp up主
- UserTypeUp = int8(1)
- //UserTypeBili b站用户
- UserTypeBili = int8(2)
- //UserTypeNew 新注册用户
- UserTypeNew = int8(3)
- //DegreeUncomp 未完成状态
- DegreeUncomp = int8(0)
- //DegreeComp 完成状态
- DegreeComp = int8(1)
- //SexMan 男
- SexMan = int8(1)
- //SexWoman 女
- SexWoman = int8(2)
- //SexAnimal 不明生物
- SexAnimal = int8(0)
- )
- // UserListType 用于指定列表类型
- type UserListType int8
- // UserListType的列表类型
- const (
- FollowListType UserListType = 1
- FanListType UserListType = 2
- BlackListType UserListType = 4
- //ForbiddenStatus .
- ForbiddenStatus = 1
- //NormalStatus .
- NormalStatus = 0
- )
- const (
- // SpaceListLen 空间长度
- SpaceListLen = 20
- // BatchUserLen 批量请求用户信息时最大数量
- BatchUserLen = 50
- // MaxBlacklistLen 黑名单最大长度
- MaxBlacklistLen = 200
- // MaxFollowListLen 关注最大数
- MaxFollowListLen = 1000
- )
- // UserCard 主站返回的用户信息
- type UserCard struct {
- MID int64 `json:"mid"`
- Name string `json:"name"`
- Uname string `json:"uname"` // TODO: to delete
- Sex string `json:"sex"`
- Rank int32 `json:"rank"`
- Face string `json:"face"`
- Sign string `json:"sign"`
- Level int32 `json:"level"`
- VIPInfo VIPInfo `json:"vip_info"`
- }
- // UserInfoConfig 用于请求UserInfo的时候携带的参数
- type UserInfoConfig struct {
- //needBase bool // 必须基于UserBase信息
- NeedDesc bool // 注意:desc和region_name一起,可能被降级,因为用户统计信息被认为是不重要信息
- NeedStatistic bool // 注意:可能被降级,因为用户统计信息被认为是不重要信息
- NeedFollowState bool // 注意:可能被降级,因为关注关系信息被认为是不重要信息
- }
- //UpUserInfoRes account服务返回信息
- type UpUserInfoRes struct {
- MID int64 `json:"mid"`
- Name string `json:"name"`
- Sex string `json:"sex"`
- Face string `json:"face"`
- Sign string `json:"sign"`
- Rank int64 `json:"rank"`
- }
- //VIPInfo .
- type VIPInfo struct {
- Type int32 `json:"type"`
- Status int32 `json:"status"`
- DueDate int64 `json:"due_date"`
- }
- // CheckUnameSpecial 验证是否含有特殊字符
- func CheckUnameSpecial(uname string) (matched bool) {
- matched, _ = regexp.MatchString("^[A-Za-z0-9\uAC00-\uD788\u3041-\u309E\u30A1-\u30FE\u3131-\u3163\u4E00-\u9FA5\uF92C-\uFA29_-]{1,}$", uname)
- return
- }
- //CheckUnameLength 验证长度
- func CheckUnameLength(uname string) (matched bool) {
- lu := strings.Count(uname, "") - 1
- if lu < 3 || lu > 16 {
- return false
- }
- bt := []byte(uname)
- if len(bt) < 3 || len(bt) > 30 {
- return false
- }
- return true
- }
|