zl程序教程

您现在的位置是:首页 >  移动开发

当前栏目

MOA联系人导入到手机本地?

手机 本地 导入到 联系人
2023-06-13 09:16:47 时间

MOA里记录着公司几千号同事的电话号码,要想给某个同事打电话,直接在MOA里搜索到这个同事就可以拨打了,特别方便;但当其他同事给你打来电话时,你的来电显示里只会显示一个电话号码,并不知道是谁打过来的,有什么好办法么?

如果MOA能像微信电话本一样可以作为系统的默认电话应用,当有来电时直接显示出这个电话是谁打来的,哪个部门的,什么职位等等,但目前来看,好像也没有规划要做成这样。

所以,现在只能将MOA里的联系人全部(或者部分)导入手机本地啦~

口袋助理网页版

口袋助理有个网页版本的,可以直接在网页上跟同事聊天(网页版地址是 https://web.kd77.cn/im/ ,我老觉得这种域名指向的是那种不正规的网站。。。)

刷新一下这个页面,可以看到服务端会返回公司所有同事的详细信息:姓名,工号,部门,职位,手机(何工与熊工两位同事是没有电话的)

将这个返回的json数据保存起来,转换成手机能识别的联系人信息格式就好了。

# encoding: utf-8require 'json'
require "nkf"  contact = File.read("contact.json")contact = NKF.nkf("-w", contact)contact = JSON.parse(contact)csvfile = File.new("d:/test.csv", "w")# 保存部门ID和名称
groups = {}
contact["data"]["groups"].each{ |g|
   id = g["id"]
   name = g["name"]
   groups["#{id}"] = {}
   groups["#{id}"]["name"] = name
}contact["data"]["persons"].each { |e|
   name = e["name"] || "no_name"
   title = e["title"] || "no_title"
   gid = e["department_id"]
   gname = groups["#{gid}"]["name"]
   eid = e["details"][0]["label"] == "employeeid" ? e["details"][0]["text"] : e["details"][1]["text"] if e["details"].size == 2
   phone = e["details"][1]["label"] == "phones" ? e["details"][1]["text"][0] : e["details"][0]["text"][0] if e["details"].size == 2
   csvfile.puts "#{name},#{title},#{gname},#{eid},#{phone}"
}csvfile.close

vCard

vCard是电子名片的文本格式标准(https://zh.wikipedia.org/wiki/VCard),Android和iOS都支持导入vCard格式的联系人信息

上面我们将联系人保存成csv格式,将csv转为vCard格式可以有很多种方式,比如我用网易邮箱里的“导入联系人”,将csv导入后再转换成vCard格式导出到手机即可(接近三千个联系人,完成导入需要5分钟左右吧)。


这样,当同事打来电话的时候,就会直接显示他的名字和其他信息了~

END


微信号:WangBooth

就喜欢发布些机密信息,欢迎关注,哈哈哈~~~