“钉钉应用开发不仅完成了实验室数字化运营的定制需求,这段落地的应用开发经验也丰富了我的实践经历,成为我的实习面试宝典。”
——「开发者」说
詹泽晔同学是南京大学软件效能实验室的一名研究生,利用专业优势,他所在的实验室成功上钉,实现了50人的实验室数字化管理。
01 钉钉初印象
初识钉钉是同学在学习编程培训课,“钉钉可以用来发出作业和学习任务”是詹泽晔同学对钉钉的初印象,后来在学校里又用到了钉钉打卡,进一步感受到了组织数字化的高效。
02 应用开发初体验
研究生期间,导师的钉钉实验室管理项目,正式开启了詹同学的钉钉应用开发之旅。利用钉钉免费的平台和自身的专业优势,詹同学所在的实验室,将实验室日常运作全部搬上钉钉。小到实验室的签到、组会、大到任务安排、助研金发放、学分申请、甚至论文评审、学术成果绩效全部在钉钉上实现了数字化管理。
绩效审核
助研金计算
论文投票
“应用开发的过程中,感受到了钉钉提供了非常多的接口能力,可以实现很多复杂的业务,并且可以实现数据互通,与钉钉用户直接交互,使用方便,开发出来功能用户使用意愿比较高。”
——「开发者说」
詹同学开发的实验室绩效管理系统微应用,主要用到了以下钉钉接口:
- 权限基础能力:身份验证-免登(用于用户登陆)
- 组织通讯录:
获取用户、部门、角色信息(用于设置用户基本信息、设置用户初始权限)
通讯录选人 (利用钉钉API, 更加快速的检索用户,分配任务)
- 消息通知、消息互动卡片:
企业群消息: (向钉钉群中发送 自定义的评审投票消息卡片 及 投票结果)
向个人发送消息: (提醒用户要按时提交周报,提示用户绩效变更信息)
消息卡片互动:消息卡片能够直接跳转微应用相关页面,深度融合,提高效率日志
- 日志读取,日志内容,日志相关人:(查询用户提交的周报信息;统计周报提交情况;对未及时提交周报的人进行扣分)
开发工具方面:后端用到钉钉SDK,调用钉钉相关接口;前端用到jsapi鉴权,调用钉钉通讯录;运维方面利用钉钉监控中心查看用户访问情况,统计异常次数,和API成功率
03 钉钉带来的改变
钉钉开放的能力,帮助詹同学实验室制定的很多运行规则都落实了起来,在这之前,繁杂的实验室规则带给了同学们很多事务性压力,相应的奖励体系也没有搭建起来,导致同学们积极性不高。从Excel到钉钉微应用,实验室的科研工作变得井然有序并且趣味十足。
“赶任务辛苦了~一起来预测此次论文投稿能否成功吧!”
论文投稿预测结果
04 与钉钉的成长故事
“钉钉的应用开发经验,让我了解了企业开发的真实场景,了解到了企业用户需求的复杂性。这对我的技术方面有了很大的提升,我理解了使用sdk调用第三方API(钉钉)的过程,明白了钉钉免密登录,鉴权的实现原理 以及钉钉微应用的技术原理。让我有机会结合钉钉开放的能力,开发出很多有趣,实用的功能。这些都是在学校里学不到的。”
“更重要的是,在面试过程中我与面试官聊了很多与钉钉应用开发相关的内容,面试官也觉得我的开发经验很丰富、很真实。”
“我想对钉钉说:从19年第一次接触钉钉应用开发,每隔一段时间打开钉钉,都会发现有惊喜~我在钉钉的应用开发,更像是我与钉钉一起长大的成长故事”
附录:开发者的开源项目
nju-softeng/dingtalk-app-server: 基于钉钉的实验室绩效管理系统 (Spring Boot) (github.com)
nju-softeng/dingtalk-app-web: 基于钉钉的实验室绩效管理系统 (Vue) (github.com)