Create & Init Project...
This commit is contained in:
212
app/service/main/passport-game/model/model.go
Normal file
212
app/service/main/passport-game/model/model.go
Normal file
@ -0,0 +1,212 @@
|
||||
package model
|
||||
|
||||
import (
|
||||
"crypto/md5"
|
||||
"encoding/hex"
|
||||
"fmt"
|
||||
"strconv"
|
||||
|
||||
xtime "go-common/library/time"
|
||||
)
|
||||
|
||||
const (
|
||||
// EmptyFace empty face
|
||||
EmptyFace = "http://static.hdslb.com/images/member/noface.gif"
|
||||
|
||||
_cloudSalt = "bi_clould_tencent_01"
|
||||
_leak = 1
|
||||
)
|
||||
|
||||
// FullFace account full face.
|
||||
func (m *Info) FullFace() string {
|
||||
if m.Face == "" {
|
||||
return EmptyFace
|
||||
}
|
||||
return fmt.Sprintf("http://i%d.hdslb.com%s", m.Mid%3, m.Face)
|
||||
}
|
||||
|
||||
// Token token resp.
|
||||
type Token struct {
|
||||
Mid int64 `json:"mid"`
|
||||
AppID int32 `json:"appid"`
|
||||
AccessToken string `json:"access_key"`
|
||||
CreateAt int64 `json:"create_at"`
|
||||
UserID string `json:"userid"`
|
||||
Uname string `json:"uname"`
|
||||
Expires int64 `json:"expires"`
|
||||
Permission string `json:"permission"`
|
||||
}
|
||||
|
||||
// LoginToken login token.
|
||||
type LoginToken struct {
|
||||
Mid int64 `json:"mid"`
|
||||
AccessKey string `json:"access_key"`
|
||||
Expires int64 `json:"expires"`
|
||||
}
|
||||
|
||||
// RSAKey rsa key.
|
||||
type RSAKey struct {
|
||||
Hash string `json:"hash"`
|
||||
Key string `json:"key"`
|
||||
}
|
||||
|
||||
// RenewToken renew token resp.
|
||||
type RenewToken struct {
|
||||
Expires int64 `json:"expires"`
|
||||
}
|
||||
|
||||
// AsoAccount aso account.
|
||||
type AsoAccount struct {
|
||||
Mid int64 `json:"mid"`
|
||||
UserID string `json:"userid"`
|
||||
Uname string `json:"uname"`
|
||||
Pwd string `json:"pwd"`
|
||||
Salt string `json:"salt"`
|
||||
Email *string `json:"email"`
|
||||
Tel *string `json:"tel"`
|
||||
CountryID int64 `json:"country_id"`
|
||||
MobileVerified int8 `json:"mobile_verified"`
|
||||
Isleak int8 `json:"isleak"`
|
||||
Ctime xtime.Time `json:"-"`
|
||||
Mtime xtime.Time `json:"-"`
|
||||
}
|
||||
|
||||
// ResRegV3 ResRegV3
|
||||
type ResRegV3 struct {
|
||||
Mid int `json:"mid"`
|
||||
}
|
||||
|
||||
// ResRegV2 ResRegV2
|
||||
type ResRegV2 struct {
|
||||
Mid int `json:"mid"`
|
||||
AccessKey string `json:"accessKey"`
|
||||
}
|
||||
|
||||
// ResReg ResReg
|
||||
type ResReg struct {
|
||||
Mid int `json:"mid"`
|
||||
}
|
||||
|
||||
// ResByTel ResByTel
|
||||
type ResByTel struct {
|
||||
Mid int `json:"mid"`
|
||||
AccessKey string `json:"accessKey"`
|
||||
}
|
||||
|
||||
// ResCaptcha ResCaptcha
|
||||
type ResCaptcha struct {
|
||||
Code int `json:"code"`
|
||||
Message string `json:"message"`
|
||||
Data CaptchaData `json:"data"`
|
||||
}
|
||||
|
||||
// CaptchaData CaptchaData
|
||||
type CaptchaData struct {
|
||||
Token string `json:"token"`
|
||||
URL string `json:"url"`
|
||||
}
|
||||
|
||||
// ArgRegV3 ArgRegV3
|
||||
type ArgRegV3 struct {
|
||||
User string `form:"user" validate:"required"`
|
||||
Pwd string `form:"pwd" validate:"required"`
|
||||
Captcha string `form:"captcha"`
|
||||
Ctoken string `form:"ctoken"`
|
||||
}
|
||||
|
||||
// ArgRegV2 ArgRegV2
|
||||
type ArgRegV2 struct {
|
||||
Captcha string `form:"captcha"`
|
||||
Ctoken string `form:"ctoken"`
|
||||
}
|
||||
|
||||
// ArgReg ArgReg
|
||||
type ArgReg struct {
|
||||
Email string `form:"email" validate:"required"`
|
||||
Userpwd string `form:"pwd" validate:"required"`
|
||||
User string `form:"user" validate:"required"`
|
||||
}
|
||||
|
||||
// ArgByTel ArgByTel
|
||||
type ArgByTel struct {
|
||||
Tel string `form:"tel" validate:"required"`
|
||||
Uname string `form:"user" validate:"required"`
|
||||
Userpwd string `form:"pwd" validate:"required"`
|
||||
CountryID string `form:"country_id" validate:"required"`
|
||||
Captcha string `form:"captcha" validate:"required"`
|
||||
}
|
||||
|
||||
// SendSms SendSms
|
||||
type SendSms struct {
|
||||
Tel string `form:"tel" validate:"required"`
|
||||
CountryID string `form:"country_id" validate:"required"`
|
||||
Captcha string `form:"captcha" `
|
||||
Ctoken string `form:"ctoken" `
|
||||
ResetPwd bool `form:"reset_pwd" `
|
||||
}
|
||||
|
||||
// TdoRegV3 TdoRegV3
|
||||
type TdoRegV3 struct {
|
||||
Arg ArgRegV3
|
||||
Cookie string
|
||||
IP string
|
||||
}
|
||||
|
||||
// TdoRegV2 TdoRegV2
|
||||
type TdoRegV2 struct {
|
||||
Arg ArgRegV2
|
||||
Cookie string
|
||||
IP string
|
||||
}
|
||||
|
||||
// TdoReg TdoReg
|
||||
type TdoReg struct {
|
||||
Arg ArgReg
|
||||
Cookie string
|
||||
IP string
|
||||
}
|
||||
|
||||
// TdoByTel TdoByTel
|
||||
type TdoByTel struct {
|
||||
Arg ArgByTel
|
||||
Cookie string
|
||||
IP string
|
||||
}
|
||||
|
||||
// TdoSendSms TdoSendSms
|
||||
type TdoSendSms struct {
|
||||
Arg SendSms
|
||||
Cookie string
|
||||
IP string
|
||||
}
|
||||
|
||||
// Leak leak.
|
||||
func (a *AsoAccount) Leak() bool {
|
||||
return a.Isleak == _leak
|
||||
}
|
||||
|
||||
// DefaultHash hash a plain text using default salt.
|
||||
func DefaultHash(plaintext string) string {
|
||||
return doHash(plaintext, _cloudSalt)
|
||||
}
|
||||
|
||||
func doHash(plaintext, salt string) string {
|
||||
if plaintext == "" {
|
||||
return ""
|
||||
}
|
||||
hash := md5.New()
|
||||
hash.Write([]byte(plaintext))
|
||||
hash.Write([]byte(salt))
|
||||
md := hash.Sum(nil)
|
||||
return hex.EncodeToString(md)
|
||||
}
|
||||
|
||||
// DefaultUserID get default user id.
|
||||
func DefaultUserID(mid int64) string {
|
||||
return "用户" + strconv.FormatInt(mid, 10)
|
||||
}
|
||||
|
||||
// DefaultUname get default uname.
|
||||
func DefaultUname(mid int64) string {
|
||||
return "用户" + strconv.FormatInt(mid, 10)
|
||||
}
|
Reference in New Issue
Block a user