纯前端导出微信通讯录到 Excel

原文发自我的 github 博客

缘由

小 N 同学通讯录太多,希望可以导出到 Excel 中,网上大部分做法都需要安装软件或者还有自己整理数据,太麻烦。

我们来试一试可不可以通过前端的思路来解决这个问题。

思路

  1. 拿到通讯录
  2. 导出到 Excel

既然是前端工程师,那么最简单的方式就是登录微信 web 版, 直接去看微信活动通讯录的接口。

我们看一下

可以看到,由于微信后端返回数据中中文出现了乱码,暂且没有想好如何处理这些乱码。

但是界面中的中文确实正常的,我们看一下有没有其他别的方法呢?

通过看网页结构,我们发现这是一个用 angularjs 1.x 编写的网页应用(出现了ng-style ng-repeat等关键词)

我们知道 angularjs 中的双向绑定,一般变量都会挂在 scope 上

既然所有的联系人都出现在了 $('.scroll-wrapper .J_ContactScrollBody')中,那我们看看这个列表关联的 scope 中是否含有这些信息

var scope = angular.element($('.scroll-wrapper .J_ContactScrollBody')).scope();
var allContacts = scope.allContacts;
复制代码

果不其然,在 $('.scroll-wrapper .J_ContactScrollBody') 关联的 scope 上挂载有 allContracts

(其实在观察的过程中,发现微信的工程师把所有的联系人信息放到了 window._contracts 上了,这也是一种方法。)

拿到数据之后接下来就是导出到 Excel 了,这里选用了

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值