Skip to content

应用服务

获取应用相关的信息以及操作应用内的模块数据。

获取当前应用信息

javascript
appService.getApp()

返回值 类型为 Promise<App>

javascript
appService.getApp().then(app => {
    console.log(app);
});

获取当前用户

javascript
appService.getUser()

返回值 类型为 Promise<AppUser>

javascript
appService.getUser().then(user => {
    console.log(user);
});

获取当前应用模块列表

javascript
appService.getModuleList()

返回值 类型为 Promise<Object[]>

javascript
appService.getModuleList().then(moduleList => {
    console.log(moduleList);
});

调用本应用中的自动化

javascript
appService.callAutomatic({ automaticId, args })

参数

参数类型描述
automaticIdString自动化的标识符
argsArray自动化传递的参数
withoutTimeoutLoadingBoolean是否展示系统的执行loading
sourceIdString自动化的上下文sourceId

返回值 类型为 Promise<any>

javascript
appService.callAutomatic({
    automaticId: 'a1',
    args: ['123', 1]
}).then(result => {
    console.log(result);
});

文件预览

javascript
appService.previewFile(options)

参数

参数类型描述
tableKeyString数据表标识符
fieldKeyString数据表字段标识符
fileIdString文件ID
fileNameString文件名称
editableBoolean是否可编辑,默认(false)
downloadableBoolean是否可下载,默认(false)
useBrowserPreviewPdfBoolean是否使用浏览器预览PDF文件,默认(false)

返回值 类型为 Promise<void>

获取应用原始权限列表

javascript
appService.getAppRawPerms()

返回值 类型为 Promise<string[]>

javascript
appService.getAppRawPerms().then(permList => {
    console.log(permList);
});

获取应用权限列表

javascript
appService.getAppPerms()

返回值 类型为 Promise<string[]>

javascript
appService.getAppPerms().then(permList => {
    console.log(permList);
});

检查是否拥有应用权限

javascript
appService.hasAppPerm(permId)

参数

参数类型描述
permIdString权限标识符

返回值 类型为 Promise<boolean>

javascript
appService.hasAppPerm('AppAccess').then(hasPerm => {
    console.log(hasPerm);
});

批量检查是否拥有应用权限

javascript
appService.hasAppPerms(permIds)

参数

参数类型描述
permIdsArray<String>权限标识符列表

返回值 类型为 Promise<Object>,返回以权限标识符为 key 的布尔值对象

javascript
appService.hasAppPerms(['AppAccess', 'CustomPermission']).then(result => {
    console.log(result); // { AppAccess: true, CustomPermission: false }
});

检查是否拥有模块权限

javascript
appService.hasModulePerm(moduleKey, permId)

参数

参数类型描述
moduleKeyString模块标识符
permIdString权限标识符

返回值 类型为 Promise<boolean>

javascript
appService.hasModulePerm('staff', 'TableAccess').then(hasPerm => {
    console.log(hasPerm);
});

批量检查是否拥有模块权限

javascript
appService.hasModulePerms(moduleKey, permIds)

参数

参数类型描述
moduleKeyString模块标识符
permIdsArray<String>权限标识符列表

返回值 类型为 Promise<Object>,返回以权限标识符为 key 的布尔值对象

javascript
appService.hasModulePerms('staff', ['TableAccess', 'CustomTablePermission']).then(result => {
    console.log(result); // { TableAccess: true, CustomTablePermission: false }
});

通过数据表标识符获取数据表信息

javascript
appService.getTableInfo(tableId)

参数

参数类型描述
tableIdString数据表标识符

返回值 Promise<TableInfo>

javascript
appService.getTableInfo('staff').then(info => {
    console.log(info); // {table:{},tableFieldList:[],...}
});

查询模块数据

javascript
appService.queryModuleRecordList(moduleKey, query)

参数

参数类型描述
moduleKeyString模块标识符
queryObject查询条件,结构参考TableQuery

TableQuery结构如下

参数类型描述
pageIndexNumber页码,默认值:1
pageSizeNumber每页大小,默认值:50
filterObject过滤器
orderByListArray排序方式
includeFieldsArray<String>返回字段列表
excludeFieldsArray<String>排除字段列表

返回值 类型为 Promise<{count: number, list: Array}>

javascript
appService.queryModuleRecordList('staff', {
    pageIndex: 1,
    pageSize: 20
}).then(result => {
    console.log(result.count); // 总记录数
    console.log(result.list);  // 记录列表
});

获取模块数据

javascript
appService.getTableRecordInfo(moduleKey, recordId)

参数

参数类型描述
moduleKeyString模块标识符
recordIdString记录ID

返回值 类型为 Promise<{data: Object, isPermissionDenied: boolean}>

javascript
appService.getTableRecordInfo('staff', 'xxxxxxxx').then(result => {
    if (result.isPermissionDenied) {
        console.log('无权限访问');
        return;
    }
    console.log(result.data);
});

插入模块数据

javascript
appService.tableRecordInsert(moduleKey, record)

参数

参数类型描述
moduleKeyString模块标识符
recordObject记录数据

返回值 类型为 Promise<string>,返回新创建记录的ID

javascript
appService.tableRecordInsert('staff', {
    name: '张三',
    age: 25
}).then(recordId => {
    console.log(recordId);
});

批量插入模块数据

javascript
appService.tableRecordBatchInsert(moduleKey, recordList, batch)

参数

参数类型描述
moduleKeyString模块标识符
recordListArray<Object>记录数据列表
batchBoolean是否使用批量插入,非必填

返回值 类型为 Promise<string>

javascript
appService.tableRecordBatchInsert('staff', [
    { name: '张三', age: 25 },
    { name: '李四', age: 30 }
]).then(result => {
    console.log(result);
});

更新模块数据

javascript
appService.tableRecordUpdate(moduleKey, record, updateFields)

参数

参数类型描述
moduleKeyString模块标识符
recordObject记录数据,必须包含id字段
updateFieldsArray<String>指定更新的字段列表,非必填

返回值 类型为 Promise<any>

javascript
appService.tableRecordUpdate('staff', {
    id: 'xxxxxxxx',
    name: '张三改',
    age: 26
}).then(() => {
    console.log('更新成功');
});

批量更新模块数据

javascript
appService.tableRecordBatchUpdate(moduleKey, recordList, setting)

参数

参数类型描述
moduleKeyString模块标识符
recordListArray<Object>记录数据列表,每条记录必须包含id字段
settingObject配置项,非必填。batch是否使用SQL批量更新;updateFields指定更新的字段列表

返回值 类型为 Promise<any>

javascript
appService.tableRecordBatchUpdate('staff', [
    { id: 'id1', name: '张三' },
    { id: 'id2', name: '李四' }
], {
    batch: true,
    updateFields: ['name']
}).then(() => {
    console.log('批量更新成功');
});

删除模块数据

javascript
appService.tableRecordDelete(moduleKey, recordId)

参数

参数类型描述
moduleKeyString模块标识符
recordIdString记录ID

返回值 类型为 Promise<any>

javascript
appService.tableRecordDelete('staff', 'xxxxxxxx').then(() => {
    console.log('删除成功');
});

批量删除模块数据

javascript
appService.tableRecordBatchDelete(moduleKey, recordIdList)

参数

参数类型描述
moduleKeyString模块标识符
recordIdListArray<String>记录ID列表

返回值 类型为 Promise<any>

javascript
appService.tableRecordBatchDelete('staff', ['id1', 'id2']).then(() => {
    console.log('批量删除成功');
});

查询数据表子表单数据

javascript
appService.queryFormRecordList(moduleKey, fieldKey, recordId, query)

参数

参数类型描述
moduleKeyString模块标识符
fieldKeyString子表单字段标识符
recordIdString记录ID
queryObject查询条件,结构参考TableQuery

返回值 类型为 Promise<{count: number, list: Array}>

javascript
appService.queryFormRecordList('staff', 'subform_field', 'xxxxxxxx', {
    pageIndex: 1,
    pageSize: 20
}).then(result => {
    console.log(result.count);
    console.log(result.list);
});