diff --git a/bot.go b/bot.go index 142706c..6903d34 100644 --- a/bot.go +++ b/bot.go @@ -2,6 +2,7 @@ package openwechat import ( "context" + "encoding/json" "errors" "io" "log" @@ -18,7 +19,6 @@ type Bot struct { SyncCheckCallback func(resp SyncCheckResponse) // 心跳回调 MessageHandler MessageHandler // 获取消息成功的handle MessageErrorHandler MessageErrorHandler // 获取消息发生错误的handle, 返回err == nil 则尝试继续监听 - Serializer Serializer // 序列化器, 默认为json Caller *Caller Storage *Session err error @@ -318,7 +318,7 @@ func (b *Bot) DumpTo(writer io.Writer) error { SyncKey: b.Storage.Response.SyncKey, UUID: b.uuid, } - return b.Serializer.Encode(writer, item) + return json.NewEncoder(writer).Encode(item) } // IsHot returns true if is hot login otherwise false @@ -344,11 +344,10 @@ func NewBot(c context.Context) *Bot { caller.Client.SetMode(normal) ctx, cancel := context.WithCancel(c) return &Bot{ - Caller: caller, - Storage: &Session{}, - Serializer: &JsonSerializer{}, - context: ctx, - cancel: cancel, + Caller: caller, + Storage: &Session{}, + context: ctx, + cancel: cancel, } } diff --git a/serializer.go b/serializer.go deleted file mode 100644 index 46c8bfb..0000000 --- a/serializer.go +++ /dev/null @@ -1,25 +0,0 @@ -package openwechat - -import ( - "encoding/json" - "io" -) - -// Serializer is an interface for encoding and decoding data. -type Serializer interface { - Encode(writer io.Writer, v interface{}) error - Decode(reader io.Reader, v interface{}) error -} - -// JsonSerializer is a serializer for json. -type JsonSerializer struct{} - -// Encode encodes v to writer. -func (j JsonSerializer) Encode(writer io.Writer, v interface{}) error { - return json.NewEncoder(writer).Encode(v) -} - -// Decode decodes data from reader to v. -func (j JsonSerializer) Decode(reader io.Reader, v interface{}) error { - return json.NewDecoder(reader).Decode(v) -}