1.绘制连接器,注意出餐入参的格式,
2.绘制流程,绑定连接器,是提交后出发还是表单值变化后
3.编写本地接口(内网穿透),绑定连接器
钉钉开发连接器,自定义连接器配合流程使用,流程加入连接器,连接器发送参数,然后你本地处理修改值,返回给流程
- 1创建连接器
- 2连接器整合流程
1创建连接器
注意接口要添加跳过鉴权的注解
首先创建连接器
其他的不重要直接创建动作
基本信息随便填写
注意入参和出参
这边和你上面的保持一致,我填写的是test
有人有疑问接口地址是什么?就是你对入参的处理逻辑
那地址如何配置,首先你要保证钉钉能访问到(这里就涉及到一个内网穿透)
就是 这玩意,然后配置一下服务器地址就好了,免费的一半只有一个小时的有效期
我这里配置的就是本地8080端口的映射,在上面隧道管理,创建隧道,创建完下面就刷新出来了。
然后自己springboot写一个接口
入参就是一个对象,带上面的属性
害怕有人想要这个就放一下
package com.qygx.common.core.domain;import java.util.HashMap;
import com.qygx.common.constant.HttpStatus;
import com.qygx.common.utils.StringUtils;/*** 操作消息提醒* * @author ruoyi*/
public class AjaxResult extends HashMap<String, Object>
{private static final long serialVersionUID = 1L;/** 状态码 */public static final String CODE_TAG = "code";/** 返回内容 */public static final String MSG_TAG = "msg";/** 数据对象 */public static final String DATA_TAG = "data";/*** 初始化一个新创建的 AjaxResult 对象,使其表示一个空消息。*/public AjaxResult(){}/*** 初始化一个新创建的 AjaxResult 对象* * @param code 状态码* @param msg 返回内容*/public AjaxResult(int code, String msg){super.put(CODE_TAG, code);super.put(MSG_TAG, msg);}/*** 初始化一个新创建的 AjaxResult 对象* * @param code 状态码* @param msg 返回内容* @param data 数据对象*/public AjaxResult(int code, String msg, Object data){super.put(CODE_TAG, code);super.put(MSG_TAG, msg);if (StringUtils.isNotNull(data)){super.put(DATA_TAG, data);}}/*** 返回成功消息* * @return 成功消息*/public static AjaxResult success(){return AjaxResult.success("操作成功");}/*** 返回成功数据* * @return 成功消息*/public static AjaxResult success(Object data){return AjaxResult.success("操作成功", data);}/*** 返回成功消息* * @param msg 返回内容* @return 成功消息*/public static AjaxResult success(String msg){return AjaxResult.success(msg, null);}/*** 返回成功消息* * @param msg 返回内容* @param data 数据对象* @return 成功消息*/public static AjaxResult success(String msg, Object data){return new AjaxResult(HttpStatus.SUCCESS, msg, data);}/*** 返回错误消息* * @return*/public static AjaxResult error(){return AjaxResult.error("操作失败");}/*** 返回错误消息* * @param msg 返回内容* @return 警告消息*/public static AjaxResult error(String msg){return AjaxResult.error(msg, null);}/*** 返回错误消息* * @param msg 返回内容* @param data 数据对象* @return 警告消息*/public static AjaxResult error(String msg, Object data){return new AjaxResult(HttpStatus.ERROR, msg, data);}/*** 返回错误消息* * @param code 状态码* @param msg 返回内容* @return 警告消息*/public static AjaxResult error(int code, String msg){return new AjaxResult(code, msg, null);}/*** 方便链式调用** @param key 键* @param value 值* @return 数据对象*/@Overridepublic AjaxResult put(String key, Object value){super.put(key, value);return this;}
}
这样是不是就逻辑打通了,连接器发送参数,然后你本地处理修改值,返回给流程。
看看出参
其实我是规定我了我的返回值,所以有msg,code,你要是直接返回的话,就别带着两个了。
下一步就是调试
断点进来了
这个连接器不就好了吗
2连接器整合流程
我这里就是创建了一个测试流程,你点击连接器就好了,然后选择自己的出发时机。
我选择的是表单修改值的时候
第二步正常选就行
第三步
注意的是填充的数据不能和触发的框一致
(如果填充的表单和触发的表单一样,那不是一填充又触发,那不是死循环了)
下面看一下流程图
其他的就没什么了
反正我只能说钉钉真坑,这种东西尽然单独拎出来搞个连接器,害