钉钉二次开发-企业内部系统集成官方OA审批流程

场景:企业内部开发人员不足,需要从以前集成Activiti的方式转换成集成钉钉官方OA审批流程,提高开发效率和系统稳定性。

摘要:企业内部系统集成Acitiviti开源工作流存在的问题:

  1. 企业需要单独搭建工作流服务,开发流程审批相关接口。

  2. 流程设计方式:需要在eclipse中使用bpmn插件画流程图,然后部署。

  3. 与前端的交互:需要前端开发人员一起介入联调工作流审核页面和动作。

  4. 运行维护复杂:基于以上问题,流程的修改迭代升级涉及的人员多,效率低。

企业内部集成钉钉官方OA审批流程的优势:

  1. 流程设计、发布、修改都可以在钉钉后台管理系统完成。

  2. 钉钉官方OA审批提供了统一的API调用。

  3. 运行维护方便:钉钉负责管理流程全生命周期,修改迭代比较方便。

企业内部系统集成钉钉官方OA审批流程的步骤:(以 绩效评价审批流程 为例)

一、钉钉中设计流程图、连接器、连接流

  1. 表单设计

设置字段(业务表主键id) ,作用是流程审核同意或拒绝时,可以根据id更新业务流程审核状态。

  1. 流程设计

流程末尾需要添加 连接器 ,实现流程审核结束后能回调业务系统更新审核状态。

  1. 连接器

流程审核同意执行动作

流程审批拒绝执行动作

  1. 连接流

流程审核拒绝的事件需要通过连接流触发

二、后端代码中集成钉钉官方OA审批API

  1. 表结构设计

业务数据表中设计钉钉审核流程相关字段

  1. 钉钉API访问工具类

例如通过钉钉 appid appsecret 获得accessToken

  1. 发起流程实例接口

  2. 查询流程审核日志接口

  3. 流程审核同意回调接口

此接口需要配置到钉钉连接器( 流程审核同意执行动作)中。

  1. 流程审核拒绝回调接口

此接口需要配置到钉钉连接器( 流程审批拒绝执行动作)中。

  1. 钉钉免登录接口

前端通过corpid 获得钉钉临时访问码code,再通过临时访问码code调用此接口返回当前用户的姓名、userid 钉钉用户id 系统工号 钉钉部门id列表 业务系统访问token 等信息,然后将 token 存储到 localStorage

  1. 检验token合法性接口

前端调用些接口判断用户登录状态是否超时,如果超时,引导用户重新登录,如果未超时,正常访问系统。

三、前端代码集成钉钉免登JSAPI

前端通过corpid 获得钉钉临时访问码code,再通过临时访问码code调用此接口返回当前用户的姓名、userid、 钉钉用户id、 系统工号、 钉钉部门id列表、 业务系统访问token 等信息,然后将 token 存储到 localStorage

这三部分内容将在后面的文章依次分享......

相关推荐
paopaokaka_luck4 分钟前
高校社团管理(AI辅助任务分配、协同过滤算法推荐、ECharts数据可视化、活动参与闭环、校园交流与反馈、器材借还管理)
java·前端·javascript·spring boot·数据分析·echarts
vx_Biye_Design18 分钟前
springboot小区管理系统68491-计算机课程设计、毕业设计
java·vue.js·spring boot·后端·spring·课程设计·express
驰骋工作流26 分钟前
驰骋BPM工作流引擎的护城河:七项能力的工程解析驰骋BPM驰骋低代码低代码工作流引擎
低代码
专业程序开发源27 分钟前
springboot外卖系统94294-计算机课程设计、毕业设计
java·vue.js·spring boot·后端·spring·php·课程设计
FYKJ_201036 分钟前
springboot心理健康管理系统86254-计算机课程设计、毕业设计
vue.js·spring boot·后端·python·mysql·django·课程设计
Moshow郑锴2 小时前
sql-pipeline - 基于PostgreSQL的SQL健康检查与发布编排平台
java·sql
Wang's Blog10 小时前
Java 项目实战: 外卖平台优化-Nginx配置文件结构与块层级
java·开发语言·nginx
\光辉岁月/11 小时前
5.java-数组
java·开发语言
谢亮_vipxieliang11 小时前
Spring 事务失效的常见场景
java·开发语言·数据库·spring boot
郑州光合科技余经理12 小时前
海外版外卖加盟:总站与分站配送规则怎么分开管
java·开发语言·前端·后端·uni-app·php·ai编程