diff --git a/bot.go b/bot.go index 9e24a58..38a3ab0 100644 --- a/bot.go +++ b/bot.go @@ -75,8 +75,6 @@ func (b *Bot) HotLogin(storage HotReloadStorage, retry ...bool) error { return b.Login() } - defer storage.Close() - if err = b.hotLoginInit(*item); err != nil { return err } @@ -340,14 +338,7 @@ func (b *Bot) DumpHotReloadStorage() error { WechatDomain: b.Caller.Client.Domain, } - data, err := json.Marshal(item) - if err != nil { - return err - } - if _, err = b.HotReloadStorage.Write(data); err != nil { - return err - } - return b.HotReloadStorage.Close() + return json.NewEncoder(b.HotReloadStorage).Encode(item) } // OnLogin is a setter for LoginCallBack diff --git a/stroage.go b/stroage.go index a3e30b0..9e04255 100644 --- a/stroage.go +++ b/stroage.go @@ -23,7 +23,7 @@ type HotReloadStorageItem struct { } // HotReloadStorage 热登陆存储接口 -type HotReloadStorage io.ReadWriteCloser +type HotReloadStorage io.ReadWriter // JsonFileHotReloadStorage 实现HotReloadStorage接口 // 默认以json文件的形式存储 @@ -51,13 +51,6 @@ func (j *JsonFileHotReloadStorage) Write(p []byte) (n int, err error) { return j.file.Write(p) } -func (j *JsonFileHotReloadStorage) Close() error { - if j.file != nil { - return j.file.Close() - } - return nil -} - // NewJsonFileHotReloadStorage 创建JsonFileHotReloadStorage // Deprecated // use os.File instead