钉钉小程序开发案例(钉钉小程序开发者文档)

小程序开发 1291
本篇文章给大家谈谈钉钉小程序开发案例,以及钉钉小程序开发者文档对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。 本文目录一览: 1、

本篇文章给大家谈谈钉钉小程序开发案例,以及钉钉小程序开发者文档对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

Python3.7配合Django2.0来调用钉钉(dingding)在线api实时监测员工考勤打卡情况

新冠疫情期间,大多数公司为了避免交叉感染都或多或少的采用了远程办公的方式,这显然是一个明智的选择,基本上钉钉(dingding)作为一个远程办公平台来用的话,虽然差强人意,但是奈何市面上没有啥更好的选择,矬子里拔将军,也还是可以凑合用的,不过远程办公有个问题,就是每天需要检查员工的考勤,居家办公虽然灵活,但是大家究竟有没有办公,则是另外一回事,钉钉提供的解决方案就是考勤在线打卡功能,但是检查出勤钉钉在移动端就有点费劲,需要在钉钉app里点击至少5次,还不能实时刷新,pc端的钉钉oa系统做的更烂,还不如移动端来得方便,另外如果你在一家上千人的企业里,这家企业有大大小小几十个部门,你又非常倒霉的担任这家公司的人事主管,每天按部门来出员工考勤报表就不是一件容易事了,所以利用钉钉开放的接口,使用Django自己打造一套实时监控员工考勤的web平台是我们本次的目的。

项目背景是一家普通科技公司,大概有五个部门,每个部门100人左右

首先进入钉钉开放平台 :open-dev.dingtalk.com

在企业内部开发中,选择小程序,新建一个小程序应用,这里其实也还有别的选择,比如h5微应用,主要是小程序兼容性更好一点。

填写应用的名称、简介、Logo等基本信息这些按下不表,按照要求填写即可,也不必非得填写真实信息,这里有个坑就是一定不要忘了配置安全域名或者ip,安全域名是当我们的检测平台上线的时候部署的域名,应用可以跟指定的域名进行网络通信,如果不配置的话,请求钉钉接口会报403错误。

另外还有一个坑,也就是钉钉默认开放的接口仅限于基础权限接口

如果需要考勤或者签到接口的话,还得单独点击申请,这就有点让人看不懂了,那么多接口,全都得靠用鼠标点击开通,不开通就用不了,这个用户体验真是让人非常酸爽,产品设计成这样,钉钉的pm难辞其咎。

OK,前置准备工作就已经就绪了,现在我们只要根据官方文档来写接口就可以了,选择服务端api文档:

钉钉考勤打卡的接口说明是这样的:

这里每个接口都需要一个access_token用来鉴权,这个token是用id和秘钥通过接口交换回来的,具体在应用详情里可以获取

这里我们封装成方法

搞定了token,还需要获取您的部门下所有员工的员工id,因为考勤接口参数只能接受员工id,而非部门id

最后请求考勤接口即可

完整的后台Django后台接口

这样,就可以愉快的通过线上平台来实时监测部门员工考勤了,效果是这样的:

钉钉小程序(E应用)开发踩坑

  a、在钉钉开发平台创建小程序,并将自己的钉钉账号设置为开发人员;

  b、在IDE中登录,关联应用;

  c、上传完成后,即可在钉钉开发平台将上传版本设置为体验版。

   npm install lodash // 安装第三方包

   import lodash from 'lodash' // 载入第三方 npm 模块

  注: 可能报错 error:cannot read property 'prototype' of undefined;

  建议: import get from 'lodash/get' 单独引入用到的工具类

  编译失败查看日志,通常是超过5M,是将根目录下的debug.log一起编译到项目中了,所以直接删除这个debug.log就可以编译通过了

  钉钉小程序E应用在发版时会有一个老版本的缓存,每次发版后直接打开E应用,其实访问的是上一个版本的缓存,这个缓存会在发版后10分钟左右自动更新成最新版本,如果想要直接看到最新版本,可以退出钉钉登录账户,并杀掉钉钉进程,这样再进去后就是直接访问的最新版本了.

通过微信小程序来实现 “钉钉打卡”

产品希望统计我们公司线下人员的考勤情况,钉钉的功能目前不能满足一天多次外勤打卡的需求,于是我们打算自己开发一套打卡系统。我们的线下工作人员日常使用的是我们内部的一个微信小程序,产品希望将外勤打卡的功能在小程序上实现。方便线下人员在同一个平台上操作。

我们线下工作人员遍布全国各地,每个人的工作地点可能各不一样,怎样让线下工作人员在指定的地方打卡呢?

为了方便统一打卡管理,添加一个模块给志愿者管理人员,由管理者添加外勤对象,线下工作者根据当前的定位,选择匹配到方圆1公里的外勤对象,选择对应要打卡的对象进行打卡。

外勤打卡呢,一个线下工作一天要跑多个工作地点,每个地点都要进行打卡,如何保证一天多次打卡呢?产品希望他们每次出勤都有对应的签到和签退,没完成签退,不可以新建一次外勤,每次签到成功就创建了一次外勤,签退不限制地点,可以进行随时签退,这样就保证了每次出勤都是成对的。

针对打卡功能,我们选用微信小程序开发里面的位置api:定位、和选点定位。

这次主要使用的两个位置api:

来来来,签到了:

考虑到有可能通过抓包提交经纬度来进行打卡,我们前后端统一指定了一套打卡加密机制。我们采用的 MD5加密,对经纬度、时间戳、小程序密钥等组合加密,前端每次打卡,都要加密后32密钥传给后端,后端校验通过后,才可以打卡。这样就可以阻止部分通过接口打卡的骚操作了。

我们要求每次签到签退都要进行自拍,虽然不能完全杜绝刷打卡,但却可以 避免一部分作弊。

最终我们的打卡:

最后对于开发团队的总结, 前端主动驱动,需求评估后,提前想好解决方案,尽量减少非预知问题,需求评估后可以提前做个demo,对技术选型、功能的实现程度,以及需求的开发周期的有个大致预期。

钉钉小程序图表库AntV - F2 使用总结

对于图表这块的开发,使用一些流行的图表库可以大大提高我们的开发效率,目前较为流行的图表库大概有Echarts,Hcharts,AntV,他们都是大同小异,我印象比较深刻的是Hcharts是支持多坐标轴的,Echarts好像是不支持的,但是对于小程序的选择我们选择的是阿里的AntV-f2,因为他明确指出了适合小程序开发,而且AntV-f2除了不支持一些document,其他的大部分功能都是支持的,我们就没有再考虑其他的库,但是官方并没有太多关于小程序的具体使用文档,我们只能根据js的相关事例翻译成小程序的语法。

钉钉小程序开发工具:

AntV - F2:

效果看着有点丑对不对......那我们就来实现一下设计师的效果图吧!具体功能:1.默认展示一个tooltip, 2.tooltip改变时展示对应x轴的数据,3.自定义tooltip

我们自定义一个默认的tooltip:, 就叫做def_item吧,当图表渲染完成设置def_item = {key: 100, value: 200},这里有个注意点,就是def_item的内容不是随便定义的,这里我们先不做多说,后面会说明这个def_item的key值时如何设置的。

通过查找tooltip的Api我们会发现它有3个事件的回调,在钉钉小程序中我们只能通过props来传递tooltip的回调

优化后的效果

如何制作钉钉答题小程序

1、首先,打开vs编程软件,在左上角新建文件。

2、其次,在网络上找个代码模板,按照自己的需求进行修改。

3、最后,即可完成钉钉答题小程序的开发。

钉钉小程序开发案例的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于钉钉小程序开发者文档、钉钉小程序开发案例的信息别忘了在本站进行查找喔。

扫码二维码