前段时间遇到 mac 微信出了一个锅.
部分微信群和联系人在电脑上收不到消息, 可以发消息, 但发出去一直显示转圈圈 (其实对方已经收到了), 切换窗口再切回来就连之前自己发的消息都不见了ovo
然而因为不太影响使用(可以在手机上看消息, 电脑盲回) 所以没太管. 但是作为一个强迫症还是不太能忍, 于是过了好久还是决定动手修一下.
mac下微信的本地数据文件在 /Users/laekov/Library/Containers/com.tencent.xinWeChat/Data/Library/Application Support/com.tencent.xinWeChat/2.0b4.0.9
. 初步估计是本地文件出锅了, 于是对它动手.
首先在mac端不上线的情况下手机拉了一个不影响别人的群, 然后用mac登录, 果然这个群属于bug群.
把 Message
目录移动为 Message_bak
, 重新登录, 失去了所有聊天记录. 再次尝试使用上面那个群, 发现可以正常使用. 定位到问题文件在 Message
目录里.
发现 Message
目录下有 msg_[0-9]
十种前缀的文件, 估计是对聊天记录进行了分桶. 大胆猜测是某个桶坏了.
于是等了一分钟后在群里发了一条消息, 发现只有 msg_6
开头文件被更新了. 大胆猜想是 msg_6
这个桶炸了.
另有有一个 MessageTemp
目录较大, 目测是数据文件. (比如消息, 图片, 视频) 猜想这里放的是元数据. 于是把旧的 MessageTemp
先拷回来.
然后恢复了 msg_1
开头的几个文件, 发现果然聊天记录回来了一部分.
挨个恢复除了 msg_6
以外的所有 msg_x
文件, 于是除了之前炸掉的记录以外, 聊天记录都回来了.
坏掉的文件就确实没法修了. 鬼知道.data
格式是啥玩意. 完结撒花.
微信这个黑盒子也不是完全坏掉就不能修.
但是这种完全不开源的东西修起来好心累.
真不知道这么烂透的一个软件为什么这么多人用.