5月10日 坚果Pro 到手,Smartisan OS 很赞,但我不太喜欢手机联系人的头像,没特色、辨识度不高。
微信用多了,一看头像就能想到具体的人,要是联系人头像能和微信好友头像一样就好了。
用蛮力,一个一个修改联系人头像当然可行,但这样的纯体力活程序员不应该做。
先网上搜了下,有类似需求,如“QQ头像如何同步到手机联系人”,但没看到解决方案,只有靠自己了。
以下是我的思路,先说明一下,我习惯手机联系人姓名、微信好友备注名都使用真名,也就是说二者能以此关联起来。
- 获取微信好友名称和头像,生成
name-photo-map - 遍历手机联系人,根据联系人姓名去
name-photo-map中查找,为联系人添加头像。
下面来看看具体实现。
1. 工具
- Chrome浏览器
- NodeJS
2. 获取微信全部好友的名称和头像
Chrome F12打开开发者工具,登录微信网页版,查看Network。
这个请求返回的是JSON,全部好友的信息都在 MemberList 里
- 备注 对应
RemarkName - 昵称 对应
NickName - 头像 对应
HeadImgUrl
注意 RemarkName 我设置的是中文,这里显示的是乱码。这是Chrome没有使用UTF8编码导致的。
在请求上右键 Open in new tab,在新的标签页上 ctrl+s 将请求返回结果保存到文件 wx-contacts.json,我用vscode打开,信息都正常显示了。
下面这段NodeJS程序用来解析JSON、下载头像图片、并以备注名作为图片的文件名。
var https = require('https');
var fs = require('fs'</

本文介绍了如何使用NodeJS自动化同步微信好友的头像到手机通讯录,通过解析微信网页版的数据,下载头像并更新手机联系人照片。
最低0.47元/天 解锁文章
846

被折叠的 条评论
为什么被折叠?



