[style]: 支持扫码登录自定义uuid (#221)

This commit is contained in:
多吃点苹果 2023-02-02 00:05:26 +08:00 committed by GitHub
parent 6629e77fd5
commit e9c89f9ac8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 10 additions and 6 deletions

8
bot.go
View File

@ -51,6 +51,7 @@ func (b *Bot) Alive() bool {
// @description: 设置设备Id
// @receiver b
// @param deviceId
// TODO ADD INTO LOGIN OPTION
func (b *Bot) SetDeviceId(deviceId string) {
b.deviceId = deviceId
}
@ -84,7 +85,7 @@ func (b *Bot) login(login BotLogin) (err error) {
// Login 用户登录
func (b *Bot) Login() error {
scanLogin := &SacnLogin{}
scanLogin := &SacnLogin{UUID: b.loginUUID}
return b.login(scanLogin)
}
@ -303,7 +304,7 @@ func (b *Bot) IsHot() bool {
return b.hotReloadStorage != nil
}
// UUID returns current uuid of bot
// UUID returns current UUID of bot
func (b *Bot) UUID() string {
return b.uuid
}
@ -311,7 +312,8 @@ func (b *Bot) UUID() string {
// SetUUID
// @description: 设置UUID可以用来手动登录用
// @receiver b
// @param uuid
// @param UUID
// TODO ADD INTO LOGIN OPTION
func (b *Bot) SetUUID(uuid string) {
b.loginUUID = &uuid
}

View File

@ -177,19 +177,21 @@ type BotLogin interface {
}
// SacnLogin 扫码登录
type SacnLogin struct{}
type SacnLogin struct {
UUID *string
}
// Login 实现了 BotLogin 接口
func (s *SacnLogin) Login(bot *Bot) error {
var uuid string
if bot.loginUUID == nil {
if s.UUID == nil {
var err error
uuid, err = bot.Caller.GetLoginUUID()
if err != nil {
return err
}
} else {
uuid = *bot.loginUUID
uuid = *s.UUID
}
return s.checkLogin(bot, uuid)
}