Appearance
informat.app 应用信息相关函数
概述
使用informat.app
对象执行和应用相关的全局操作。
abort
终止当前脚本的运行
javascript
informat.app.abort(message)
informat.app.abort(message, code)
入参
参数 | 类型 | 描述 |
---|---|---|
message | String | 提示信息 |
code | int | 错误码 |
返回值
无
示例
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)
入参
参数 | 类型 | 描述 |
---|---|---|
key | String | 应用标识符 |
返回值
类型为String
,返回应用ID
示例
javascript
const appId = informat.app.getAppIdByKey('informat.example');
console.log(appId);
text
y2jtobhqycwxb
getModuleIdByKey
通过模块标识符查询模块ID
javascript
informat.app.getModuleIdByKey(key)
入参
参数 | 类型 | 描述 |
---|---|---|
key | String | 模块标识符 |
返回值
类型为String
,返回模块ID
示例
javascript
const moduleId = informat.app.getModuleIdByKey('dataModelBasics');
console.log(moduleId);
text
ww0wfsota14xm
getModuleKeyById
通过模块ID查询模块标识符
javascript
informat.app.getModuleKeyById(id)
入参
参数 | 类型 | 描述 |
---|---|---|
id | String | 模块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)
入参
参数 | 类型 | 描述 |
---|---|---|
id | String | 环境变量ID |
返回值
类型 String
,环境变量值
javascript
informat.app.appEnvProp('host');
text
http://dev.informat.cn
showModuleAlert
设置模块提示信息;
javascript
informat.app.showModuleAlert(moduleAlert)
提示
模块提示信息会显示在模块页面的顶部,用来展示一些描述性文字。例如在数据导入的时候显示当前的导入进度。
入参
参数 | 类型 | 描述 |
---|---|---|
moduleAlert | ModuleAlert | 提示信息 |
示例
javascript
informat.app.showModuleAlert({
moduleId: 'task',
title: '输入正在导入中',
description: '当前正在导入 40/100',
type: 'info'
})
hideModuleAlert
隐藏模块提示信息
javascript
informat.app.hideModuleAlert(moduleId)
入参
参数 | 类型 | 描述 |
---|---|---|
moduleId | String | 模块标识符 |
示例
js
informat.app.hideModuleAlert('task')
invokeAutomatic
调用自动化程序;
javascript
informat.app.invokeAutomatic(automaticId, args)
提示
- 如果自动化程序不存在则抛出异常
- 如果自动化程序没有返回值则为
null
入参
参数 | 类型 | 描述 |
---|---|---|
automaticId | String | 自动化程序的标识符 |
args | Array<Object> | 参数列表 |
返回值
类型 Object
,自动化程序的返回值
示例
javascript
informat.app.invokeAutomatic('addAutomatic', [1, 2])
text
3
pushEvent
推送事件给客户端
javascript
informat.app.pushEvent(event)
入参
参数 | 类型 | 描述 |
---|---|---|
event | PushEvent | 事件数据 |
示例
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
- 团队中的其他应用可以通过监听器接收到事件消息
入参
参数 | 类型 | 描述 |
---|---|---|
event | AppEvent | 应用事件 |
示例
javascript
informat.app.publishAppEvent({
id: 'publishFromSript',
content: {
user: '张三'
}
});
queryCustomRoleList
查询自定义角色列表
javascript
informat.app.queryCustomRoleList(query)
入参
参数 | 类型 | 描述 |
---|---|---|
query | Query | 查询条件 |
过滤器中可以使用的字段列表
参数 | 类型 | 描述 |
---|---|---|
name | String | 名称 |
示例
查询名称包含总经理
的自定义角色列表
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)
入参
参数 | 类型 | 描述 |
---|---|---|
filter | Filter | 查询条件 |
示例
查询名称包含总经理
的自定义角色列表总数
javascript
informat.app.queryCustomRoleListCount({
conditionList: [
{
fieldId: 'name',
opt: 'contains',
value: '总经理'
}
]
});
text
1
addCustomRole
新增自定义角色
javascript
informat.app.addCustomRole(role)
参数 | 类型 | 描述 |
---|---|---|
role | CustomRole | 自定义角色 |
示例
javascript
informat.app.addCustomRole({
id: 'supplier',
name: '供应商',
remark: '直接向零售商提供商品及相应服务',
permissionList: ['AppAccess', 'user_TableAccess']
});
updateCustomRole
更新自定义角色
javascript
informat.app.updateCustomRole(role)
入参
参数 | 类型 | 描述 |
---|---|---|
role | CustomRole | 自定义角色 |
返回值
类型 Integer
更新的记录数量
示例
javascript
informat.app.updateCustomRole({
id: 'supplier',
name: '主供应商',
remark: '直接向零售商提供商品及相应服务',
permissionList: ['AppAccess', 'user_TableAccess', 'user_TableInsert']
});
text
1
deleteCustomRole
删除自定义角色
javascript
informat.app.deleteCustomRole(id)
参数 | 类型 | 描述 |
---|---|---|
id | String | 自定义角色标识符 |
返回值
类型 Integer
删除的记录数量
示例
javascript
informat.app.deleteCustomRole('supplier');
text
1
setAppBadge
设置应用角标
javascript
informat.app.setAppBadge(content)
入参
参数 | 类型 | 描述 |
---|---|---|
content | String | 应用角标内容 |
示例
javascript
informat.app.setAppBadge('重要');
favoriteModule
收藏模块
javascript
informat.app.favoriteModule(moduleList)
参数 | 类型 | 描述 |
---|---|---|
moduleList | Array<String> | 模块标识符列表 |
返回值
类型 Array<String>
收藏记录ID列表
示例
javascript
informat.app.favoriteModule(['scriptTableA', 'scriptTableB']);
json
[
"gh2lsh2sgnnms",
"f52xscr7c77u0"
]
cancelFavoriteModule
取消收藏模块
javascript
informat.app.cancelFavoriteModule(moduleList)
参数 | 类型 | 描述 |
---|---|---|
moduleList | Array<String> | 模块标识符列表 |
返回值
类型 Integer
取消收藏影响的记录数量
示例
javascript
informat.app.cancelFavoriteModule(['scriptTableA', 'scriptTableB']);
text
2
queryFavoriteModuleList
查询我的收藏模块列表(此应用下的模块)
javascript
informat.app.queryFavoriteModuleList(query)
参数 | 类型 | 描述 |
---|---|---|
query | Query | 查询条件 |
过滤器中可以使用的字段列表
参数 | 类型 | 描述 |
---|---|---|
moduleName | String | 模块名称 |
返回值
类型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)
参数 | 类型 | 描述 |
---|---|---|
filter | Filter | 查询条件 |
返回值
类型 Integer
,我的收藏模块列表总数
示例
查询名称包含任务
的收藏模块列表总数
javascript
informat.app.queryFavoriteModuleListCount({
conditionList: [
{
fieldId: 'moduleName',
opt: 'contains',
value: '任务'
}
]
});
text
1
eval
运行脚本
javascript
informat.app.eval(script)
参数 | 类型 | 描述 |
---|---|---|
script | String | js脚本内容 |
返回值
类型 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。
参数 | 类型 | 描述 |
---|---|---|
key | String | 定时任务标识符 |
返回值
无
示例
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)
入参
参数 | 类型 | 描述 |
---|---|---|
query | Query | 查询条件 |
过滤器中可以使用的字段列表
参数 | 类型 | 描述 |
---|---|---|
type | String | 类型 |
createAccountId | String | 创建人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)
入参
参数 | 类型 | 描述 |
---|---|---|
filter | Filter | 查询条件 |
示例
查询名称包含总经理
的自定义角色列表总数
javascript
informat.app.queryAppChangeLogListCount({
conditionList: [
{
fieldId: 'type',
opt: 'eq',
value: 'MemberUpdate'
}
]
});
text
1
addAppChangeLog
创建应用变更日志
javascript
informat.app.addAppChangeLog(content)
入参
参数 | 类型 | 描述 |
---|---|---|
content | String | 变更内容 |
示例
javascript
informat.app.addAppChangeLog('创建记录');
deleteAppChangeLog
删除应用变更日志
javascript
informat.app.deleteAppChangeLog(id)
入参
参数 | 类型 | 描述 |
---|---|---|
id | String | 应用日志ID |
示例
javascript
informat.app.deleteAppChangeLog('nf6k7cf5u80ca');
addDesignerUserList
新增应用设计成员列表
js
informat.app.addDesignerUserList(type, userIdList)
入参
参数 | 类型 | 描述 |
---|---|---|
type | String | 应用设计权限类型 |
userIdList | Array<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)
入参
参数 | 类型 | 描述 |
---|---|---|
type | String | 应用设计权限类型 |
应用设计权限类型可选值:
参数 | 描述 |
---|---|
access | 可以进入应用设计界面 |
edit | 可以进行应用设计 |
publish | 可以发布应用 |
示例
javascript
informat.app.getDesignerUserList('access')
json
[
"lwfwqr67xsvup",
"uc4qsqmm64nep",
"zhansan",
"lisi"
]
removeDesignerUserList
删除应用设计成员列表
js
informat.app.removeDesignerUserList(type, userIdList)
入参
参数 | 类型 | 描述 |
---|---|---|
type | String | 应用设计权限类型 |
userIdList | Array<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()])