Skip to content

平台开放内容

概述

为了更加方便的各异构平台间的数据流转,织信平台将平台内资源通过 API、H5 等形式开放给第三方平台使用。 开放平台的好处包括但不限于:

  • 1、适应更加个性化的使用需求
  • 2、提升平台间嵌入时的使用体验
  • 3、提升平台间的开发效率
  • 4、降低平台间开发的复杂度

API 开放

API允许外部系统以HTTP协议的形式和应用交互,每一个 API 拥有一个唯一的访问路径,在HTTP请求到达时,执行配置的自动化程序或者脚本函数,将执行结果按照配置的格式返回给调用端。

页面开放

织信平台可以通过低代码设计器使用数据表工作流控件等方式快速构建个性化数据表单展示。在该模式下,若异构系统希望基于配置项编写表单及数据流转逻辑将是一个巨大的工程量。基于此种使用场景,织信平台对外开放内部页面链接,异构系统使用页面链接可快速的完成页面的嵌入,以保证用户体验的统一并极大的提高了开发效率

通过Iframe嵌入平台页面,如何传值给父页面

平台页面可以通过自动化中的【在客户端运行脚本】执行一段JS脚本,通过window.parent.postMessage方法,传值给父页面。 父页面通过监听message事件,即可获取到平台页面传递的参数。

平台用户认证

为了织信平台页面资源被嵌入时自动完成用户认证(以下简称为Token),需要在跳转或嵌入的页面链接上追加__if_token参数

如嵌入工作流列表页

  • 1、通过API获取用户在织信平台内的Token示例APIuserAuth.js
    javascript
    export 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 请求userNamelisiyu用户Token93bdfe9f6a0c499d82b0231429fb2f07工作流列表页页链接为https://next.informat.cn/open/bpmn/list?__if_token=93bdfe9f6a0c499d82b0231429fb2f07

页面开放列表