手里負責的項目都是微信端開發,微信小程序,以及公眾號相關,所以最近在看微信開發的書。
今天碰巧看到一篇知乎講如何實現微信防撤回功能,所以自己去實現了下,頗為好玩。
微信防撤回功能輕松實現~
先貼上知乎原帖:
https://zhuanlan.zhihu.com/p/25689314?utm_source=zhihu&utm_medium=social
實現思路,將接收到的消息都存進一個字典(msg_dict),接收到撤回通知時,提取撤回消息的id,從字典中進行比對,然后發送、保存。那么字典能放得下那么多消息嗎?當接收到新消息時,執行函數對字典中超過兩分鍾的消息進行清理(兩分鍾內消息不會很多)。
對於四種消息:圖片、語音、附件、視頻 這些不像文字一樣、沒法直觀看見消息內容。於是收到消息后,將這些消息內容下載緩存,超過兩分鍾進行刪除。同時,如果撤回這些消息的話,便將相應的消息內容保存到另一文件夾中,並發送消息到文件助手進行通知。
原主談過的我就不談了。談幾點實現的注意點:
(1)建議在服務器端掛着,這樣可以一直接收撤回的消息,不用自己的電腦一直開着啦。(我就是這么做的
(2)服務器端需要配置python3.5環境,下載地址傳送:https://www.python.org/downloads/release/python-353/
(3)如果大家比較懶的話我給大家貼個在51CTO上看到的封裝好的exe,叫wMsg, 大家直接拿走扔服務器上跑即可。wMsg下載地址傳送:http://down.51cto.com/data/2292498 wMsg使用非常簡單,直接運行跳出來一個二維碼,掃一下就掛上了,會自動在 文件傳輸助手 里接收撤回消息。(當然需要python3.5環境
(4)我的服務器是windows sever2012 還需要配一下才能正常運行:
tip1:會提示缺少api-ms-win-crt-math-|1-1-0.dll , 下載地址傳送: http://qunying.jb51.net:81/dll/2015/api-ms-win-crt-math-l1-1-0(jb51.net).rar 里面有使用方法也,安在服務器上。
tip2:會提示沒有桌面體驗功能,添加桌面體驗功能方法傳送:http://543925535.blog.51cto.com/639838/1053166/
(5)唯一不好的地方是會當作微信網頁端運行,會擠掉你的pc端微信(這倆只能一個在線),所以如果需要pc端辦公的話就不太方便拉~
所以有興趣的話可以自己試一試拉,雖然和微信開發不着邊,但是防撤回功能還是挺有意思的,說不定可以看到哪個害羞的妹子給自己表白撤回了呢,想想還有點小激動呢。
想寫代碼嘗試的方法,不想寫代碼的懶人方法,自己電腦上運行的方法,服務器端運行的方法以及環境該怎么配遇到問題該怎么解決都幫大家找好啦,照着步驟一步一步來,輕松實現咯,非常簡單。
有問題留言哈