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()])

注意

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

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

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()])

userLoginType ​

查询当前操作的用户登录类型

js
informat.app.userLoginType()

返回值

类型为String,返回当前操作的用户登录类型

javascript
const userLoginType = informat.app.userLoginType();
console.log(userLoginType);
text
index