Skip to content

informat.app 应用信息相关函数

概述

使用informat.app对象执行和应用相关的全局操作。

abort

终止当前脚本的运行

javascript
informat.app.abort(message)
informat.app.abort(message, code)

入参

参数类型描述
messageString提示信息
codeint错误码

返回值

示例

javascript
informat.app.abort('当前项目已立项')
informat.app.abort('当前项目已立项', 270001)

appId

查询当前的应用ID

javascript
informat.app.appId()

返回值

类型为String,返回当前的应用ID

示例

javascript
const appId = informat.app.appId();
console.log(appId);
text
y2jtobhqycwxb

getAppIdByKey

通过应用标识符查询团队下的应用ID

javascript
informat.app.getAppIdByKey(key)

入参

参数类型描述
keyString应用标识符

返回值

类型为String,返回应用ID

示例

javascript
const appId = informat.app.getAppIdByKey('informat.example');
console.log(appId);
text
y2jtobhqycwxb

getModuleIdByKey

通过模块标识符查询模块ID

javascript
informat.app.getModuleIdByKey(key)

入参

参数类型描述
keyString模块标识符

返回值

类型为String,返回模块ID

示例

javascript
const moduleId = informat.app.getModuleIdByKey('dataModelBasics');
console.log(moduleId);
text
ww0wfsota14xm

getModuleKeyById

通过模块ID查询模块标识符

javascript
informat.app.getModuleKeyById(id)

入参

参数类型描述
idString模块ID

返回值

类型为String,返回模块标识符

示例

javascript
const moduleId = informat.app.getModuleKeyById('ww0wfsota14xm');
console.log(moduleId);
text
dataModelBasics

userId

查询当前操作的用户ID

javascript
informat.app.userId()

返回值

类型为String,返回当前的用户ID

示例

javascript
const userId = informat.app.userId();
console.log(userId);
text
zhangsan

appDefine

获取当前应用的配置信息

javascript
informat.app.appDefine()

返回值

类型为AppDefine,返回当前应用的配置信息

示例

javascript
const appDefine = informat.app.appDefine();
console.log(appDefine);
json
{
  "apiList": [
  ],
  "automaticList": [
    {
      "directory": false,
      "expand": false,
      "id": "kg93tarx7z0ni",
      "isDirectory": false,
      "key": "kg93tarx7z0ni",
      "name": "Excel转换为Pdf",
      "type": "default"
    },
    {
      "directory": false,
      "expand": false,
      "id": "pk7azjbk73fm3",
      "isDirectory": false,
      "key": "pk7azjbk73fm3",
      "name": "发布应用事件",
      "type": "default"
    },
    {
      "directory": false,
      "expand": false,
      "id": "a1ns3a7wu1nw7",
      "isDirectory": false,
      "name": "发布应能用时间",
      "type": "default"
    }
  ],
  "color": "c1",
  "eventList": [
    {
      "id": "gzginycn5nk4",
      "key": "shijian",
      "name": "发布事件"
    }
  ],
  "id": "excel2pdf",
  "moduleList": [
    {
      "directory": false,
      "expand": false,
      "icon": "table",
      "id": "v10lxegyp7q9x",
      "isDirectory": false,
      "key": "tab",
      "name": "数据表",
      "type": "Table"
    }
  ],
  "name": "分区示例",
  "roleList": [
    {
      "directory": false,
      "expand": false,
      "id": "lzlq4xtzj7wa0",
      "isDirectory": false,
      "key": "admin",
      "name": "管理员"
    }
  ],
  "scheduleList": [
  ],
  "scriptList": [
  ],
  "versionList": [
  ]
}

moduleTree

获取模块树

javascript
informat.app.moduleTree()

返回值

类型为Array<ObjectRef>,返回模块列表

示例

javascript
const moduleTree = informat.app.moduleTree();
console.log(moduleTree);
json
[
  {
    "directory": false,
    "expand": false,
    "icon": "table",
    "id": "ww0wfsota14xm",
    "isDirectory": false,
    "key": "dataModelBasics",
    "name": "基础数据表模型",
    "type": "Table"
  },
  {
    "children": [
      {
        "children": [
          {
            "directory": false,
            "expand": false,
            "icon": "table",
            "id": "fq8npovpr6xwq",
            "isDirectory": false,
            "key": "fq8npovpr6xwq",
            "name": "数据表xx",
            "type": "Table"
          }
        ],
        "directory": true,
        "expand": false,
        "icon": "arrow-up-circle",
        "id": "bo6uz2zshv8u",
        "isDirectory": true,
        "name": "分组11",
        "type": "Group"
      }
    ],
    "directory": true,
    "expand": false,
    "icon": "corner-down-right",
    "id": "d6l87tqgh3s9",
    "isDirectory": true,
    "name": "分组1",
    "type": "Group"
  }
]

weworkAccessToken

获取企业微信AccessToken

javascript
informat.app.weworkAccessToken()

返回值

类型 String,企业微信AccessToken

示例

javascript
const accessToken = informat.app.weworkAccessToken();
console.log(accessToken);
text
Jnr6FjCpHbUJEZXdM0TzpaOMRCu_EnzsdOUALv42Y5enbCk6cW0jbr0VRgQKBMC21mJQpg_GaL8Phw4ge8a1Q1S7fW-yXUOIIAmX6XIeQOfNvOLPO1i2s6Ttnj523qgDwUknn_ARswFbbQnrfz2NbCG_cJIikg9VSXZn4Ba6HjtEGFINNLrs554Bv8SLpz6rMcn6AbDtcM7dxf_uqN3vaA

dingtalkAccessToken

获取钉钉AccessToken

javascript
informat.app.dingtalkAccessToken()

返回值

类型 String,钉钉AccessToken

示例

javascript
const accessToken = informat.app.dingtalkAccessToken();
console.log(accessToken);
text
05c3b2cea02d3916a892b73d00d36225

feishuAccessToken

获取飞书应用AccessToken

javascript
informat.app.feishuAccessToken()

返回值

类型 String,飞书应用AccessToken

示例

javascript
const accessToken = informat.app.feishuAccessToken();
console.log(accessToken);
text
a-g10459b02LHUFLQFU7BRRQDAEEFPP2ZV2S65PQK6

feishuTenantAccessToken

获取飞书租户AccessToken

javascript
informat.app.feishuTenantAccessToken()

返回值

类型 String,飞书租户AccessToken

示例

javascript
const accessToken = informat.app.feishuTenantAccessToken();
console.log(accessToken);
text
t-g10459b02LHUFLQFU7BRRQDAEEFPP2ZV2S65PQK6

appEnvProp

获取环境变量值

javascript
informat.app.appEnvProp(id)

入参

参数类型描述
idString环境变量ID

返回值

类型 String,环境变量值

javascript
informat.app.appEnvProp('host');
text
http://dev.informat.cn

showModuleAlert

设置模块提示信息;

javascript
informat.app.showModuleAlert(moduleAlert)

提示

模块提示信息会显示在模块页面的顶部,用来展示一些描述性文字。例如在数据导入的时候显示当前的导入进度。

入参

参数类型描述
moduleAlertModuleAlert提示信息

示例

javascript
informat.app.showModuleAlert({
    moduleId: 'task',
    title: '输入正在导入中',
    description: '当前正在导入 40/100',
    type: 'info'
})

hideModuleAlert

隐藏模块提示信息

javascript
informat.app.hideModuleAlert(moduleId)

入参

参数类型描述
moduleIdString模块标识符

示例

js
informat.app.hideModuleAlert('task')

invokeAutomatic

调用自动化程序;

javascript
informat.app.invokeAutomatic(automaticId, args)

提示

  • 如果自动化程序不存在则抛出异常
  • 如果自动化程序没有返回值则为null

入参

参数类型描述
automaticIdString自动化程序的标识符
argsArray<Object>参数列表

返回值

类型 Object,自动化程序的返回值

示例

javascript
informat.app.invokeAutomatic('addAutomatic', [1, 2])
text
3

pushEvent

推送事件给客户端

javascript
informat.app.pushEvent(event)

入参

参数类型描述
eventPushEvent事件数据

示例

javascript
informat.app.pushEvent({
    eventId: 'ModuleRefresh',
    moduleRefreshModuleId: 'task'
});
javascript
informat.app.pushEvent({
    eventId: 'Toast',
    toastMessage: '张三删除了记录test'
});
javascript
informat.app.pushEvent({
    eventId: 'RecordFormRefresh',
    recordFormRefreshTableId: 'task',
    recordFormRefreshRecordId: 'sf2lk7c7ctzyq'
});

publishAppEvent

发布应用事件

javascript
informat.app.publishAppEvent(event)

TIP

  • 团队中的其他应用可以通过监听器接收到事件消息

入参

参数类型描述
eventAppEvent应用事件

示例

javascript
informat.app.publishAppEvent({
    id: 'publishFromSript',
    content: {
        user: '张三'
    }
});

queryCustomRoleList

查询自定义角色列表

javascript
informat.app.queryCustomRoleList(query)

入参

参数类型描述
queryQuery查询条件

过滤器中可以使用的字段列表

参数类型描述
nameString名称

示例

查询名称包含总经理的自定义角色列表

javascript
informat.app.queryCustomRoleList({
    pageIndex: 1,
    pageSize: 100,
    filter: {
        conditionList: [
            {
                fieldId: 'name',
                opt: 'contains',
                value: '总经理'
            }
        ]
    }
});
json
[
  {
    "createTime": 1709884168637,
    "id": "ceo",
    "name": "总经理",
    "permissionList": [
      "AppAccess",
      "AppMember",
      "...",
      "zu2whl8gk09j9_ExternalAccess",
      "printDesigner_DashboardAccess"
    ],
    "updateTime": 1717065850763
  }
]

queryCustomRoleListCount

查询自定义角色列表总数

javascript
informat.app.queryCustomRoleListCount(filter)

入参

参数类型描述
filterFilter查询条件

示例

查询名称包含总经理的自定义角色列表总数

javascript
informat.app.queryCustomRoleListCount({
    conditionList: [
        {
            fieldId: 'name',
            opt: 'contains',
            value: '总经理'
        }
    ]
});
text
1

addCustomRole

新增自定义角色

javascript
informat.app.addCustomRole(role)
参数类型描述
roleCustomRole自定义角色

示例

javascript
informat.app.addCustomRole({
    id: 'supplier',
    name: '供应商',
    remark: '直接向零售商提供商品及相应服务',
    permissionList: ['AppAccess', 'user_TableAccess']
});

updateCustomRole

更新自定义角色

javascript
informat.app.updateCustomRole(role)

入参

参数类型描述
roleCustomRole自定义角色

返回值

类型 Integer 更新的记录数量

示例

javascript
informat.app.updateCustomRole({
    id: 'supplier',
    name: '主供应商',
    remark: '直接向零售商提供商品及相应服务',
    permissionList: ['AppAccess', 'user_TableAccess', 'user_TableInsert']
});
text
1

deleteCustomRole

删除自定义角色

javascript
informat.app.deleteCustomRole(id)
参数类型描述
idString自定义角色标识符

返回值

类型 Integer 删除的记录数量

示例

javascript
informat.app.deleteCustomRole('supplier');
text
1

setAppBadge

设置应用角标

javascript
informat.app.setAppBadge(content)

入参

参数类型描述
contentString应用角标内容

示例

javascript
informat.app.setAppBadge('重要');

favoriteModule

收藏模块

javascript
informat.app.favoriteModule(moduleList)
参数类型描述
moduleListArray<String>模块标识符列表

返回值

类型 Array<String> 收藏记录ID列表

示例

javascript
informat.app.favoriteModule(['scriptTableA', 'scriptTableB']);
json
[
  "gh2lsh2sgnnms",
  "f52xscr7c77u0"
]

cancelFavoriteModule

取消收藏模块

javascript
informat.app.cancelFavoriteModule(moduleList)
参数类型描述
moduleListArray<String>模块标识符列表

返回值

类型 Integer 取消收藏影响的记录数量

示例

javascript
informat.app.cancelFavoriteModule(['scriptTableA', 'scriptTableB']);
text
2

queryFavoriteModuleList

查询我的收藏模块列表(此应用下的模块)

javascript
informat.app.queryFavoriteModuleList(query)
参数类型描述
queryQuery查询条件

过滤器中可以使用的字段列表

参数类型描述
moduleNameString模块名称

返回值

类型Array<ModuleFavorite>,我的收藏模块列表

示例

查询名称包含任务的收藏模块列表

javascript
informat.app.queryFavoriteModuleList({
    pageIndex: 1,
    pageSize: 100,
    filter: {
        conditionList: [
            {
                fieldId: 'moduleName',
                opt: 'contains',
                value: '任务'
            }
        ]
    }
});
json
[
  {
    "accountId": "yvkc2kwpy3xzr",
    "applicationId": "i1mwqy35y88hl",
    "id": "n9m98qmomke3g",
    "moduleIcon": "noto-slightly-smiling-face",
    "moduleId": "vylzhve0zrehp",
    "moduleName": "欢迎",
    "moduleType": "Dashboard"
  }
]

queryFavoriteModuleListCount

查询我的收藏模块列表总数(此应用下的模块)

javascript
informat.app.queryFavoriteModuleListCount(filter)
参数类型描述
filterFilter查询条件

返回值

类型 Integer,我的收藏模块列表总数

示例

查询名称包含任务的收藏模块列表总数

javascript
informat.app.queryFavoriteModuleListCount({
    conditionList: [
        {
            fieldId: 'moduleName',
            opt: 'contains',
            value: '任务'
        }
    ]
});
text
1

eval

运行脚本

javascript
informat.app.eval(script)
参数类型描述
scriptStringjs脚本内容

返回值

类型 Object,脚本运行结果

示例

javascript
informat.app.eval(`
        let date = new Date()
        console.log(date);`
);
text
Fri May 31 10:11:55 CST 2024

appInfo

App运行信息

javascript
informat.app.appInfo()

返回值

类型Application,脚本运行结果

示例

javascript
informat.app.appInfo();
json
{
  "appDefineBuild": 863,
  "appDefineEditable": true,
  "appDefineVersion": "17",
  "appDefineId": "com.mycompany",
  "color": "c7",
  "createAccountId": "zhangsan",
  "createTime": 1680006873433,
  "icon": "home",
  "id": "ftegr30w93jya",
  "enableAppJsonLog": false,
  "enableAppLog": false,
  "env": "dev",
  "name": "测试一下",
  "updateAccountId": "zhangsan",
  "updateTime": 1696919628896
}

runSchedule

运行定时任务

javascript
informat.app.runSchedule(key)

提示

运行成功会影响下一次定时任务的执行时间。假如某定时任务是每隔一个小时执行一次,上一次执行时间是19:30,那么下一次执行时间是20:30,假如用户在20:10调用此接口运行此定时任务,那么它下一次运行时间是21:10分,而不是20:30。

参数类型描述
keyString定时任务标识符

返回值

示例

javascript
informat.app.runSchedule('ao8ymduy4jt2p');

getPerformanceStatistics

返回当前app的性能统计列表

javascript
informat.app.getPerformanceStatistics()

返回值

类型Array<ApplicationProcess> 当前app的性能统计列表

示例

javascript
informat.app.getPerformanceStatistics();
json
[
  {
    "associatedId": "xxx_eval_lan5wqq9au2ls",
    "associatedKey": "xxx_eval_lan5wqq9au2ls",
    "associatedName": "xxx_eval_lan5wqq9au2ls",
    "id": "biy9wnye6i4bd",
    "serverId": "informat-biz2-prd",
    "startTime": 1717068263865,
    "status": "running",
    "type": "script"
  },
  {
    "associatedId": "xxxx_eval_s67wnu06xntlc",
    "associatedKey": "xxx_eval_s67wnu06xntlc",
    "associatedName": "xxx_eval_s67wnu06xntlc",
    "endTime": 1717068247296,
    "id": "oaqm8xgyz7m3z",
    "serverId": "informat-biz2-prd",
    "startTime": 1717068247294,
    "status": "success",
    "type": "script"
  }
]

queryAppChangeLogList

查询应用操作日志列表

javascript
informat.app.queryAppChangeLogList(query)

入参

参数类型描述
queryQuery查询条件

过滤器中可以使用的字段列表

参数类型描述
typeString类型
createAccountIdString创建人ID

示例

查询类型是编辑成员的应用操作日志列表

javascript
informat.app.queryAppChangeLogList({
    pageIndex: 1,
    pageSize: 100,
    filter: {
        conditionList: [
            {
                fieldId: 'type',
                opt: 'eq',
                value: 'MemberUpdate'
            }
        ]
    }
});
json
[
  {
    "content": "{\"avatar\":\"bc57a52b30c648c6bdba32c41b2f5371.jpg\",\"id\":\"skydu\",\"name\":\"张三\",\"newRoleList\":[\"管理员\"],\"oldRoleList\":[\"管理员\",\"成员\"]}",
    "createAccountAvatar": "bc57a52b30c648c6bdba32c41b2f5371.jpg",
    "createAccountId": "zhangsan",
    "createAccountName": "张三",
    "createTime": 1719212372446,
    "id": "uvxmqtn5337cv",
    "type": "MemberUpdate"
  }
]

queryAppChangeLogListCount

查询应用操作日志列表总数

javascript
informat.app.queryAppChangeLogListCount(filter)

入参

参数类型描述
filterFilter查询条件

示例

查询名称包含总经理的自定义角色列表总数

javascript
informat.app.queryAppChangeLogListCount({
    conditionList: [
        {
            fieldId: 'type',
            opt: 'eq',
            value: 'MemberUpdate'
        }
    ]
});
text
1

addAppChangeLog

创建应用变更日志

javascript
informat.app.addAppChangeLog(content)

入参

参数类型描述
contentString变更内容

示例

javascript
informat.app.addAppChangeLog('创建记录');

deleteAppChangeLog

删除应用变更日志

javascript
informat.app.deleteAppChangeLog(id)

入参

参数类型描述
idString应用日志ID

示例

javascript
informat.app.deleteAppChangeLog('nf6k7cf5u80ca');

addDesignerUserList

新增应用设计成员列表

js
informat.app.addDesignerUserList(type, userIdList)

入参

参数类型描述
typeString应用设计权限类型
userIdListArray<String>账户ID数组

应用设计权限类型可选值:

参数描述
access可以进入应用设计界面
edit可以进行应用设计
publish可以发布应用

示例

js
informat.app.addDesignerUserList('access', [informat.app.userId()])
informat.app.addDesignerUserList('edit', [informat.app.userId()])
informat.app.addDesignerUserList('publish', [informat.app.userId()])

注意

  • 应用设计修改成员和应用设计发布成员默认为空,且为空时默认所有成员拥有修改和发布权限。此时调用addDesignerUserListremoveDesignerUserList 可能产生意想不到的结果。

  • 如需管理成员的修改和发布权限,应配置好对应的修改和发布成员。

getDesignerUserList

查询应用设计成员列表

js
informat.app.getDesignerUserList(type)

入参

参数类型描述
typeString应用设计权限类型

应用设计权限类型可选值:

参数描述
access可以进入应用设计界面
edit可以进行应用设计
publish可以发布应用

示例

javascript
informat.app.getDesignerUserList('access')
json
[
  "lwfwqr67xsvup",
  "uc4qsqmm64nep",
  "zhansan",
  "lisi"
]

removeDesignerUserList

删除应用设计成员列表

js
informat.app.removeDesignerUserList(type, userIdList)

入参

参数类型描述
typeString应用设计权限类型
userIdListArray<String>账户ID数组

应用设计权限类型可选值:

参数描述
access可以进入应用设计界面
edit可以进行应用设计
publish可以发布应用

示例

js
informat.app.removeDesignerUserList('access', [informat.app.userId()])
informat.app.removeDesignerUserList('edit', [informat.app.userId()])
informat.app.removeDesignerUserList('publish', [informat.app.userId()])