Appearance
不用应用之间的通信
背景
某项目有两个应用,在A应用创建用户需要在B应用同步创建相同的用户,这就需要在A应用中创建新用户的时候推送应用事件,在B应用创建一个监听器去监听A应用发送的应用事件,触发自动化去同步创建相同用户。
实现步骤
我们现在可以通过以下方式实现该功能:
在A应用 用户数据表>>表格设置>>工具栏>>工具栏控件 新建 创建按钮
点击编辑 进入创建按钮的编辑页面,执行操作,选择调用自动化
自动化程序(创建用户并同步院方成员)打开记录创建页面->代码片段(添加应用成员)->发布应用事件(院方成员)
自动化程序概览如下:
代码片段(添加应用成员)这里请参考【应用层监听】登录
发布应用事件选择已经配置好的“院方成员”,事件内容选“打开记录创建页面”返回的表单对象formRcord
接下来说一下如何创建”“院方成员“这个应用事件,在A应用中(一站式服务)里。
全局设置>>监听器>>事件定义 创建一个自定义事件
事件命名为 院方成员,标识符为hospitalUserCreate ,请记住它,复制它
现在我们切换到B应用(医院端) ,第一件事就是把B应用和A应用建立依赖关系,全局设置>>高级设置>>依赖的应用,选择A应用(一站式服务)
紧接着进入 全局设置>>监听器>>创建监听器
事件ID填入已经复制好的 院方成员 应用事件的标识符,执行已经准备好的自动化
自动化程序(自动创建院方成员)如下:
点击新增参数,选择输入参数为监听器事件,命名为eventValue
打印eventValue ,JSON 数据如下:
javascript"eventValue":{ "content":{ "appDefineId":"com.gyytest.MyApp", "appId":"g0j4gmx7mbwr4", "companyId":"g09aj7cus3d8s", "id":"hospitalUserCreate", "payload":{ "name":"CN1000", "id":"qcyha8qtg9bh5" } }, "id":"app.postevent" } //我们要的参数在payload里面
设置字段用户名 表达式为 $
最后保存发布,功能就实现了
效果
在A应用中新增用户
B应用就会自动新增一条一样用户名的记录