如何对接企业微信打卡记录(企业微信打卡记录在哪)

fangcloud 737 2022-07-29

本文转载自网络公开信息

需求:

对接企业微信的打卡记录到系统中;

前期准备:

实现步骤:

1. 登录企业微信管理后台,在应用管理找到打卡应用,点击“API”,获取一下Secret(需要到企业微信客户端查看);

2. 再到我的企业页面,复制下面的企业ID;

3. 回到白码低代码开发平台的工作台,创建一个数据表,用于存储打卡记录,字段如下,分别对应接口的多个参数;

4. 新建一个API,使用企业微信(内部应用)的模板,选择基础,填写上刚才复制的企业id和secret;

然后配置好输入输出参数,如下图所示;

5. 编写API代码,代码如下;

async function run($input, $output, $modules = modules) {     const wxworkApi = $modules.wxworkApi;     let userlist = $input.userlist;     let useridlist = userlist.map(v=>v["608a51b617f01720c7525723"]);//用户表企业微信成员id字段field     let data = {         "opencheckindatatype": 3,         "starttime": new Date($input.start_date).getTime() / 1000,         "endtime": new Date($input.end_date).getTime() / 1000,         "useridlist": useridlist.join(',')     };     //$output.data = data;     let res = await wxworkApi.request({         method: "post",         url: "checkin/getcheckindata",         data     });     $output.checkindata = res.checkindata; }

6. 新建一个功能,用于获取打卡记录并录入到系统中;

①第一步使用获取集合的步骤,获取用户列表,不需要设置筛选条件,即可获取到全部用户;

②第二步使用API的步骤,调用前面做好的API,获取打卡记录;

③第三步使用编程,用于处理APi返回的打卡记录数据;

async function runProcess($model = model, $plugin = plugin, $params) {     let list = $params.list;     await $model.log(list.length);     for (let i = 0; i < list.length; i++) {         let userid = list[i]["userid"];//成员id         let checkin_time = list[i]["checkin_time"];//打卡时间戳         let date = new Date(checkin_time*1000);         let YY = date.getFullYear();         let MM = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1);         let DD = (date.getDate() + 1 <= 10 ? '0' + date.getDate() : date.getDate());         let hh = (date.getHours() + 1 <= 10 ? '0' + date.getHours() : date.getHours());         let mm = date.getMinutes() + 1 <= 10 ? '0' + date.getMinutes() : date.getMinutes();         let datestr = YY + "-" + MM + DD;//打卡日期         let time = hh + ":" + mm;//打卡时间         let user = await $plugin.data.queryData("5eb9416bb75b4176eca49a19",{             "608a51b617f01720c7525723":userid         });//找到成员id对应的用户         user = user.length > 0 ? user[0]._id : "";         await $plugin.data.saveData("608a540fdec57120cee5bb17",{             "608a545fdec57120cee5bb21":list[i]["exception_type"],//异常类型             "608a54886d8eaf20d45d65cb":list[i]["location_title"],//打卡地点title             "608a548019c20e20c8dc5756":datestr,             "608a54c06d8eaf20d45d65d1":time,             "608a541f17f01720c752574f":user,             "608a545717f01720c7525756":list[i]["checkin_type"]//打卡类型         });     } }

7. 最后将该功能发布到线上,再创建一个定时任务来调用这个功能,周期设定如下图;

实现效果:

本站部分文章、图片属于网络上可搜索到的公开信息,均用于学习和交流用途,不能代表亿方云的观点、立场或意见。我们接受网民的监督,如发现任何违法内容或侵犯了您的权益,请第一时间联系小编邮箱daifeng@360.cn 处理。
上一篇:表格中无法查找和替换日期是怎么回事(更改表格日期怎样查找替换)
下一篇:Excel中的几个关于自动筛选的高级用法适合2010及以上版本用户(在excel中,自动筛选和高级筛选)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~