修改 FileHelper 函数签名 (#146)

This commit is contained in:
多吃点苹果 2022-12-10 17:06:13 +08:00 committed by GitHub
parent efdac13d91
commit 25ba0a61f4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

23
user.go
View File

@ -214,23 +214,12 @@ func (s *Self) updateMembers() error {
// FileHelper 获取文件传输助手对象封装成Friend返回 // FileHelper 获取文件传输助手对象封装成Friend返回
// //
// fh, err := self.FileHelper() // or fh := openwechat.NewFriendHelper(self) // fh := self.FileHelper() // or fh := openwechat.NewFriendHelper(self)
func (s *Self) FileHelper() (*Friend, error) { func (s *Self) FileHelper() *Friend {
// 如果缓存里有,直接返回,否则去联系人里面找 if s.fileHelper == nil {
if s.fileHelper != nil {
return s.fileHelper, nil
}
members, err := s.Members()
if err != nil {
return nil, err
}
users := members.SearchByUserName(1, "filehelper")
if users == nil {
s.fileHelper = NewFriendHelper(s) s.fileHelper = NewFriendHelper(s)
} else {
s.fileHelper = &Friend{users.First()}
} }
return s.fileHelper, nil return s.fileHelper
} }
// Friends 获取所有的好友 // Friends 获取所有的好友
@ -777,10 +766,8 @@ func newFriend(username string, self *Self) *Friend {
return &Friend{&User{UserName: username, Self: self}} return &Friend{&User{UserName: username, Self: self}}
} }
// NewFriendHelper 这里为了兼容Desktop版本找不到文件传输助手的问题 // NewFriendHelper 创建一个文件传输助手
// 文件传输助手的微信身份标识符永远是filehelper // 文件传输助手的微信身份标识符永远是filehelper
// 这种形式的对象可能缺少一些其他属性
// 但是不影响发送信息的功能
func NewFriendHelper(self *Self) *Friend { func NewFriendHelper(self *Self) *Friend {
return newFriend("filehelper", self) return newFriend("filehelper", self)
} }