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

View File

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