feat:完善信息
This commit is contained in:
52
app/enterprise/controller/account/instance.go
Normal file
52
app/enterprise/controller/account/instance.go
Normal file
@ -0,0 +1,52 @@
|
||||
package account
|
||||
|
||||
import (
|
||||
"SciencesServer/app/common/model"
|
||||
"SciencesServer/app/service"
|
||||
"SciencesServer/config"
|
||||
"SciencesServer/utils"
|
||||
)
|
||||
|
||||
type Instance struct{}
|
||||
|
||||
type InstanceHandle func() *Instance
|
||||
|
||||
type InstanceLoginCallback func(params *InstanceLoginParams) *InstanceLoginReturn
|
||||
|
||||
type (
|
||||
InstanceLoginParams struct {
|
||||
UID uint64
|
||||
Name, Mobile string
|
||||
Identity, SelectIdentity int
|
||||
Status model.AccountStatusKind
|
||||
}
|
||||
InstanceLoginReturn struct {
|
||||
Token string `json:"token"`
|
||||
EffectTime int `json:"effect_time"`
|
||||
}
|
||||
)
|
||||
|
||||
func (c *Instance) Login() InstanceLoginCallback {
|
||||
return func(params *InstanceLoginParams) *InstanceLoginReturn {
|
||||
token := utils.JWTEncrypt(config.SettingInfo.TokenEffectTime, map[string]interface{}{
|
||||
config.TokenForUID: params.UID,
|
||||
})
|
||||
session := service.NewSessionEnterprise()
|
||||
session.Token = token
|
||||
session.UID = params.UID
|
||||
session.Name = params.Name
|
||||
session.Mobile = params.Mobile
|
||||
session.Identity = params.Identity
|
||||
session.CurrentIdentity = params.SelectIdentity
|
||||
|
||||
service.Publish(config.EventForRedisHashProduce, config.RedisKeyForAccount, utils.UintToString(params.UID), session)
|
||||
|
||||
return &InstanceLoginReturn{Token: token, EffectTime: config.SettingInfo.TokenEffectTime}
|
||||
}
|
||||
}
|
||||
|
||||
func NewInstance() InstanceHandle {
|
||||
return func() *Instance {
|
||||
return &Instance{}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user