装饰你的手机通讯录-同步微信头像

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

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

5月10日 坚果Pro 到手,Smartisan OS 很赞,但我不太喜欢手机联系人的头像,没特色、辨识度不高。
微信用多了,一看头像就能想到具体的人,要是联系人头像能和微信好友头像一样就好了。
phonecontacts

用蛮力,一个一个修改联系人头像当然可行,但这样的纯体力活程序员不应该做。
先网上搜了下,有类似需求,如“QQ头像如何同步到手机联系人”,但没看到解决方案,只有靠自己了。

以下是我的思路,先说明一下,我习惯手机联系人姓名、微信好友备注名都使用真名,也就是说二者能以此关联起来。

  1. 获取微信好友名称和头像,生成 name-photo-map
  2. 遍历手机联系人,根据联系人姓名去 name-photo-map 中查找,为联系人添加头像。

下面来看看具体实现。


1. 工具

  • Chrome浏览器
  • NodeJS

2. 获取微信全部好友的名称和头像

Chrome F12打开开发者工具,登录微信网页版,查看Network。
request
这个请求返回的是JSON,全部好友的信息都在 MemberList

  • 备注 对应 RemarkName
  • 昵称 对应 NickName
  • 头像 对应 HeadImgUrl

注意 RemarkName 我设置的是中文,这里显示的是乱码。这是Chrome没有使用UTF8编码导致的。
在请求上右键 Open in new tab,在新的标签页上 ctrl+s 将请求返回结果保存到文件 wx-contacts.json,我用vscode打开,信息都正常显示了。
rightclick charset
下面这段NodeJS程序用来解析JSON、下载头像图片、并以备注名作为图片的文件名。

var https = require('https');
var fs = require(
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值