opentdp / wrest-chat

智能聊天助手,内置 WEB 管理界面,可接入GPT、Gemini 、星火、文心、混元 、通义千问等大语言模型
https://docs.opentdp.org/
GNU General Public License v3.0
541 stars 88 forks source link

好友列表中直接返回头像 #14

Closed pcstx closed 7 months ago

pcstx commented 8 months ago

是否可以直接在好友列表接口中直接返回好友微信的头像,不然调用一次单独的接口比较麻烦。


看了下“获取头像”接口的源码,通过left join实现了。参考下SQL语句如下: { "db": "MicroMsg.db", "sql": "select c.Alias as code,c.NickName as name,c.UserName as wxid,c.Remark as remark,h.bigHeadImgUrl,h.smallHeadImgUrl from Contact c left join ContactHeadImgUrl h on c.UserName=h.usrName where c.Type not in(0,1,2,4) limit 10" }

rehiy commented 8 months ago

每个好友的头像都会查询一次数据库,一起返回并不是最优解

pcstx commented 8 months ago

每个好友的头像都会查询一次数据库,一起返回并不是最优解

不能一个sql里面用join吗?

rehiy commented 8 months ago

有没有想过我有5k+好友...

li5bo5 commented 8 months ago

有没有想过我有5k+好友...

牛鼻

pcstx commented 7 months ago

是否可以直接在好友列表接口中直接返回好友微信的头像,不然调用一次单独的接口比较麻烦。

有没有想过我有5k+好友...

就是因为好友多,避免多每个好友都单独查询一次,所以才想要实现在获取好友列表的时候,直接一个SQL查询出来,而且做了分页查询,管你5K+,还是1w+,都只要查询一次 !

rehiy commented 7 months ago

有个 /api/avatars 接口,可以根据所有传入的wxid批量获取头像