package model import "go.mongodb.org/mongo-driver/bson/primitive" type Gender int const ( GenderUnknown Gender = iota // 未知 GenderMale // 男性 GenderFemale // 女性 ) // Type 用户类型 type Type int const ( TypeRobot Type = 0 // 机器人用户 TypeGuest Type = 1 // 游客用户 TypeGeneral Type = 2 // 普通用户 TypeSystem Type = 3 // 系统用户 ) // Status 用户状态 type Status int const ( StatusNormal Status = iota // 正常 StatusForbidden // 封禁 ) //go:generate mongoctl -model-dir=. -model-names=User -dao-dir=../dao/ type User struct { ID primitive.ObjectID `bson:"_id" gen:"autoFill"` UID int32 `bson:"uid" gen:"autoIncr:uid"` // 用户ID Account string `bson:"account"` // 用户账号 Password string `bson:"password"` // 用户密码 Salt string `bson:"salt"` // 密码 Mobile string `bson:"mobile"` // 用户手机 Email string `bson:"email"` // 用户邮箱 Nickname string `bson:"nickname"` // 用户昵称 Signature string `bson:"signature"` // 用户签名 Gender Gender `bson:"gender"` // 用户性别 Level int `bson:"level"` // 用户等级 Experience int `bson:"experience"` // 用户经验 Coin int `bson:"coin"` // 用户金币 Type Type `bson:"type"` // 用户类型 Status Status `bson:"status"` // 用户状态 DeviceID string `bson:"device_id"` // 设备ID ThirdPlatforms ThirdPlatforms `bson:"third_platforms"` // 第三方平台 RegisterIP string `bson:"register_ip"` // 注册IP RegisterTime primitive.DateTime `bson:"register_time" gen:"autoFill"` // 注册时间 LastLoginIP string `bson:"last_login_ip"` // 最近登录IP LastLoginTime primitive.DateTime `bson:"last_login_time" gen:"autoFill"` // 最近登录时间 } // ThirdPlatforms 第三方平台 type ThirdPlatforms struct { Wechat string `bson:"wechat"` // 微信登录openid Google string `bson:"google"` // 谷歌登录userid Facebook string `bson:"facebook"` // 脸书登录userid }