Appearance
平台开放内容
概述
为了更加方便的各异构平台间的数据流转,织信平台将平台内资源通过 API、H5 等形式开放给第三方平台使用。 开放平台的好处包括但不限于:
- 1、适应更加个性化的使用需求
- 2、提升平台间嵌入时的使用体验
- 3、提升平台间的开发效率
- 4、降低平台间开发的复杂度
API 开放
API允许外部系统以HTTP
协议的形式和应用交互,每一个 API 拥有一个唯一的访问路径,在HTTP
请求到达时,执行配置的自动化
程序或者脚本
函数,将执行结果按照配置的格式返回给调用端。
页面开放
织信平台可以通过低代码设计器使用数据表
、工作流
、控件
等方式快速构建个性化数据表单展示。在该模式下,若异构系统希望基于配置项编写表单及数据流转逻辑将是一个巨大的工程量。基于此种使用场景,织信平台对外开放内部页面链接,异构系统使用页面链接可快速的完成页面的嵌入,以保证用户体验的统一并极大的提高了开发效率
通过Iframe嵌入平台页面,如何传值给父页面
平台页面可以通过自动化中的【在客户端运行脚本】执行一段JS脚本,通过window.parent.postMessage
方法,传值给父页面。 父页面通过监听message
事件,即可获取到平台页面传递的参数。
平台用户认证
为了织信平台页面资源被嵌入时自动完成用户认证(以下简称为Token
),需要在跳转或嵌入的页面链接上追加__if_token
参数
如嵌入工作流列表页
- 1、通过
API
获取用户在织信平台内的Token
userAuth.jsjavascriptexport function auth(ctx) { const { userName } = ctx.query; if (userName == null || `${userName}`.trim().length === 0) { return { code: 400, message: 'Parameter userName is required' }; } const accounts = informat.system.queryAccountList({ pageIndex: 1, pageSize: 10, filter: { conditionList: [ { fieldId: 'userName', opt: 'eq', value: userName } ] } }); if (accounts.length === 0) { return { code: 404, message: `No user with the username ${userName} was found` }; } const [account] = accounts; const token = informat.system.createToken(account.id, 'sso'); return { code: 200, token: token }; }
- 2、获取用户的
Token
通过 post 请求userName
是lisiyu用户Token
为93bdfe9f6a0c499d82b0231429fb2f07
则工作流列表页
页链接为https://next.informat.cn/open/bpmn/list?__if_token=93bdfe9f6a0c499d82b0231429fb2f07