73 lines
1.5 KiB
Go
73 lines
1.5 KiB
Go
package model
|
|
|
|
import (
|
|
"fmt"
|
|
"math/rand"
|
|
)
|
|
|
|
// consts
|
|
const (
|
|
URLNoFace = "http://static.hdslb.com/images/member/noface.gif"
|
|
ActUpdateByAdmin = "updateByAdmin"
|
|
ActUpdatePersonInfo = "updatePersonInfo"
|
|
ActUpdateFace = "updateFace"
|
|
ActUpdateUname = "updateUname"
|
|
ActBlockUser = "blockUser"
|
|
CertNO = -1 // 未认证
|
|
DefaultRank = 5000 // default rank
|
|
DefaultTime = -28800 // default time
|
|
DefaultMoral = 7000 // default moral
|
|
MaxMoral = 10000 // max moral
|
|
CacheKeyBase = "bs_%d" // key of baseInfo
|
|
)
|
|
|
|
// RandFaceURL get face URL
|
|
func (b *BaseInfo) RandFaceURL() {
|
|
if b.Face == "" {
|
|
b.Face = URLNoFace
|
|
return
|
|
}
|
|
b.Face = fmt.Sprintf("http://i%d.hdslb.com%s", rand.Int63n(3), b.Face)
|
|
}
|
|
|
|
// SexStr get sex str
|
|
func (b *BaseInfo) SexStr() string {
|
|
switch b.Sex {
|
|
case 0:
|
|
return "保密"
|
|
case 1:
|
|
return "男"
|
|
case 2:
|
|
return "女"
|
|
default:
|
|
return "保密"
|
|
}
|
|
}
|
|
|
|
// NotifyInfo notify info.
|
|
type NotifyInfo struct {
|
|
Uname string `json:"uname"`
|
|
Mid int64 `json:"mid"`
|
|
Type string `json:"type"`
|
|
NewName string `json:"newName"`
|
|
Action string `json:"action"`
|
|
}
|
|
|
|
// Equal is.
|
|
func (of *OfficialInfo) Equal(cof *OfficialInfo) bool {
|
|
return of.Role == cof.Role && of.Title == cof.Title && of.Desc == cof.Desc
|
|
}
|
|
|
|
// BaseExp exp and base info.
|
|
type BaseExp struct {
|
|
*BaseInfo
|
|
*LevelInfo
|
|
}
|
|
|
|
// Member is the full information within member-service.
|
|
type Member struct {
|
|
*BaseInfo
|
|
*LevelInfo
|
|
*OfficialInfo
|
|
}
|