钉钉开发文档

企业接入审批quickstart

更新时间: 2019-6-14

本篇quickstart介绍了企业接入审批接口的小程序示例,便于开发者20分钟内快速体验接入。通过示例,您可以实现发起一个审批实例并接收审批回调。
服务端语言为Java,需要具备Java开发环境(安装JDK)以及Java项目构建工具maven。

1.创建小程序
请参考创建应用小节,了解如何在开发者后台创建应用。

2.创建审批模板
1)登录OA管理后台,选择【工作台】,点击【审批】,进入审批管理后台。

2)点击【创建新审批】,进入创建新审批页面,点击【自定义模板】。

3)按照如下的表单样式,从控件库拖入对应的控件,最后点击【保存并启用】。
注意,在浏览器url中查找process_code参数,服务端开发需用到。
表单样式见下图:

【行程明细】是明细控件,
【出差地点】是单行输入框,
【图片】是图片控件,
【开始时间,结束时间】是日期区间控件,
【出差人数】是数字控件,
【出差金额】是金额控件,
【出差同伴】是单选框控件(添加的时候,把选项改为A,B,C),
【交通工具】是单行输入框,
【出差事由】是多行输入框。

4)设置完成保存,进入流程设计模块,设计审批流程。
目前发起审批实例接口支持两种模式,本篇quickstart采用“复用审批后台设置的审批流程模式

3.服务端开发
服务端代码下载

git clone https://github.com/opendingtalk/eapp-corp-project

导入服务端代码并修改配置
更改服务端java代码com.config.Constant.java文件,

/**
     * 企业corpid, 需要修改成开发者所在企业
     */
    public static final String CORP_ID = "***";
    /**
     * 应用的AppKey,登录开发者后台,点击应用管理,进入应用详情可见
     */
    public static final String APPKEY = "***";
    /**
     * 应用的AppSecret,登录开发者后台,点击应用管理,进入应用详情可见
     */
    public static final String APPSECRET = "***";

    /**
     * 数据加密密钥。用于回调数据的加密,长度固定为43个字符,从a-z, A-Z, 0-9共62个字符中选取,您可以随机生成
     */
    public static final String ENCODING_AES_KEY = "***";

    /**
     * 加解密需要用到的token,企业可以随机填写。如 "12345"
     */
    public static final String TOKEN = "***";

    /**
     * 应用的agentdId,登录开发者后台可查看
     */
    public static final Long AGENTID = 111L;

    /**
     * 审批模板唯一标识,可以在审批管理后台找到
     */
    public static final String PROCESS_CODE = "***";

参数获取方法,请参考以下:
(1)CORP_ID可以在开发者后台-首页中获取到,如下图所示:
image.png

(2)APPKEY、APPSECRET、AGENTID可在开发者后台-企业内部开发-小程序获取到,
首先点击创建的应用,如下图所示:
image.png
点击“查看详情”,如下图所示:
image.png
“应用首页”可查看应用的AgentId、AppKey和AppSecret。
image.png

(3)ENCODING_AES_KEY和TOKEN可以按照注释来设置。
(4)PROCESS_CODE可以在【钉钉管理后台-审批-编辑表单-顶部URL】中找到。

更改application.properties,此步骤非必须

#服务启动端口号,钉钉云ECS目前只开放80和22端口
server.port=8080

代码打包编译
进入项目文件路径,代码编译。

mvn clean compile -U

代码打包,生成可运行的jar文件。

mvn clean package -Dmaven.test.skip=true

启动服务端程序
执行Java命令启动程序(jar文件执行路径请根据您所在目录酌情选择)

java -jar target/eapp-corp-project-1.0.0.jar

程序启动成功如下图所示,

检查启动成功页面
访问http://localhost:8080/welcome 地址,打开页面如下图所示,

4.前端开发
前端代码下载

git clone https://github.com/opendingtalk/eapp-corp-project-fe

下载小程序IDE开发工具并导入前端代码
小程序IDE开发工具,下载链接
打开小程序IDE开发工具,打开项目,选择项目路径,选择项目类型为“企业内部应用”。

修改前端配置
修改文件eapp-corp-project-fe/page/index/index.js。
注意,IP端口为本机的IP和PORT,url中的IP或者域名必须是开发者后台中设置的本应用的安全域名。

小程序前端发起网络请求时是直连安全域名或IP的,您可以通过以下方法设置安全域名:

  • 如果您的前端demo和服务端demo在一个办公环境内(比如均在您的PC端电脑上),是可以直接互通的,因此您可以设置任何您的前端所在环境能连接到的域名或IP为安全域名。
  • 您也可以通过钉钉提供的内网穿透工具生成一个临时二级域名,并设置为安全域名进行测试。
//内网穿透工具介绍:
//替换成开发者后台设置的安全域名
let url = "http://********";

模拟器体验
完成上述域名修改后,可直接使用IDE进行模拟器体验,方法如下:
在IDE里点击“预览”按钮并进行扫码登陆,选择对应的关联应用。IDE模拟器如下图所示:
image.png

点击【发起审批】,即可发起一个审批实例。
为了保持代码的简洁,本次demo发起的审批实例中,审批发起人、审批人和抄送人是同一个用户,即当前免登的用户。

打开移动端或PC端钉钉,找到该企业工作通知,查看收到的审批通知。移动端钉钉工作通知,如下图所示:

5.审批回调
如需要本地调试审批回调,必须先用内网穿透工具生成一个临时域名来注册回调接口。

注册回调
您可以通过以下方法注册或更新企业的回调地址:
(1)修改服务端代码Constant.java文件中的CALLBACK_URL_HOST参数,设置成您使用内网穿透工具生成的临时域名,比如http://abcde.vaiwan.com。
(2)运行CallbackController中的main方法,注册或更新企业的回调地址。
(3)当控制台打印出“回调注册成功了!!!”时,表示注册回调成功。

接收审批回调
注册完审批回调,当审批被通过或拒绝时,服务端会接收到对应的回调通知,您可以结合您的业务场景做相应的处理。
在本篇quickstart中,服务端接收回调后,会给审批发起人发一条工作通知消息。

完成上述所有步骤后,祝贺您已经成功体验审批quickstart。

以上内容是否对您有帮助:
在文档使用中是否遇到以下问题(多选):
  • 内容错误
  • 更新不及时
  • 链接错误
  • 缺少代码/图片示例
  • 太简单/步骤待完善
手机号
更多建议
提交成功,感谢您的反馈!