Appearance
应用服务
获取应用相关的信息以及操作应用内的模块数据。
获取当前应用信息
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 })参数
| 参数 | 类型 | 描述 |
|---|---|---|
| automaticId | String | 自动化的标识符 |
| args | Array | 自动化传递的参数 |
| withoutTimeoutLoading | Boolean | 是否展示系统的执行loading |
| sourceId | String | 自动化的上下文sourceId |
返回值 类型为 Promise<any>
javascript
appService.callAutomatic({
automaticId: 'a1',
args: ['123', 1]
}).then(result => {
console.log(result);
});文件预览
javascript
appService.previewFile(options)参数
| 参数 | 类型 | 描述 |
|---|---|---|
| tableKey | String | 数据表标识符 |
| fieldKey | String | 数据表字段标识符 |
| fileId | String | 文件ID |
| fileName | String | 文件名称 |
| editable | Boolean | 是否可编辑,默认(false) |
| downloadable | Boolean | 是否可下载,默认(false) |
| useBrowserPreviewPdf | Boolean | 是否使用浏览器预览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)参数
| 参数 | 类型 | 描述 |
|---|---|---|
| permId | String | 权限标识符 |
返回值 类型为 Promise<boolean>
javascript
appService.hasAppPerm('AppAccess').then(hasPerm => {
console.log(hasPerm);
});批量检查是否拥有应用权限
javascript
appService.hasAppPerms(permIds)参数
| 参数 | 类型 | 描述 |
|---|---|---|
| permIds | Array<String> | 权限标识符列表 |
返回值 类型为 Promise<Object>,返回以权限标识符为 key 的布尔值对象
javascript
appService.hasAppPerms(['AppAccess', 'CustomPermission']).then(result => {
console.log(result); // { AppAccess: true, CustomPermission: false }
});检查是否拥有模块权限
javascript
appService.hasModulePerm(moduleKey, permId)参数
| 参数 | 类型 | 描述 |
|---|---|---|
| moduleKey | String | 模块标识符 |
| permId | String | 权限标识符 |
返回值 类型为 Promise<boolean>
javascript
appService.hasModulePerm('staff', 'TableAccess').then(hasPerm => {
console.log(hasPerm);
});批量检查是否拥有模块权限
javascript
appService.hasModulePerms(moduleKey, permIds)参数
| 参数 | 类型 | 描述 |
|---|---|---|
| moduleKey | String | 模块标识符 |
| permIds | Array<String> | 权限标识符列表 |
返回值 类型为 Promise<Object>,返回以权限标识符为 key 的布尔值对象
javascript
appService.hasModulePerms('staff', ['TableAccess', 'CustomTablePermission']).then(result => {
console.log(result); // { TableAccess: true, CustomTablePermission: false }
});通过数据表标识符获取数据表信息
javascript
appService.getTableInfo(tableId)参数
| 参数 | 类型 | 描述 |
|---|---|---|
| tableId | String | 数据表标识符 |
返回值 Promise<TableInfo>
javascript
appService.getTableInfo('staff').then(info => {
console.log(info); // {table:{},tableFieldList:[],...}
});查询模块数据
javascript
appService.queryModuleRecordList(moduleKey, query)参数
| 参数 | 类型 | 描述 |
|---|---|---|
| moduleKey | String | 模块标识符 |
| query | Object | 查询条件,结构参考TableQuery |
TableQuery结构如下
| 参数 | 类型 | 描述 |
|---|---|---|
| pageIndex | Number | 页码,默认值:1 |
| pageSize | Number | 每页大小,默认值:50 |
| filter | Object | 过滤器 |
| orderByList | Array | 排序方式 |
| includeFields | Array<String> | 返回字段列表 |
| excludeFields | Array<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)参数
| 参数 | 类型 | 描述 |
|---|---|---|
| moduleKey | String | 模块标识符 |
| recordId | String | 记录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)参数
| 参数 | 类型 | 描述 |
|---|---|---|
| moduleKey | String | 模块标识符 |
| record | Object | 记录数据 |
返回值 类型为 Promise<string>,返回新创建记录的ID
javascript
appService.tableRecordInsert('staff', {
name: '张三',
age: 25
}).then(recordId => {
console.log(recordId);
});批量插入模块数据
javascript
appService.tableRecordBatchInsert(moduleKey, recordList, batch)参数
| 参数 | 类型 | 描述 |
|---|---|---|
| moduleKey | String | 模块标识符 |
| recordList | Array<Object> | 记录数据列表 |
| batch | Boolean | 是否使用批量插入,非必填 |
返回值 类型为 Promise<string>
javascript
appService.tableRecordBatchInsert('staff', [
{ name: '张三', age: 25 },
{ name: '李四', age: 30 }
]).then(result => {
console.log(result);
});更新模块数据
javascript
appService.tableRecordUpdate(moduleKey, record, updateFields)参数
| 参数 | 类型 | 描述 |
|---|---|---|
| moduleKey | String | 模块标识符 |
| record | Object | 记录数据,必须包含id字段 |
| updateFields | Array<String> | 指定更新的字段列表,非必填 |
返回值 类型为 Promise<any>
javascript
appService.tableRecordUpdate('staff', {
id: 'xxxxxxxx',
name: '张三改',
age: 26
}).then(() => {
console.log('更新成功');
});批量更新模块数据
javascript
appService.tableRecordBatchUpdate(moduleKey, recordList, setting)参数
| 参数 | 类型 | 描述 |
|---|---|---|
| moduleKey | String | 模块标识符 |
| recordList | Array<Object> | 记录数据列表,每条记录必须包含id字段 |
| setting | Object | 配置项,非必填。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)参数
| 参数 | 类型 | 描述 |
|---|---|---|
| moduleKey | String | 模块标识符 |
| recordId | String | 记录ID |
返回值 类型为 Promise<any>
javascript
appService.tableRecordDelete('staff', 'xxxxxxxx').then(() => {
console.log('删除成功');
});批量删除模块数据
javascript
appService.tableRecordBatchDelete(moduleKey, recordIdList)参数
| 参数 | 类型 | 描述 |
|---|---|---|
| moduleKey | String | 模块标识符 |
| recordIdList | Array<String> | 记录ID列表 |
返回值 类型为 Promise<any>
javascript
appService.tableRecordBatchDelete('staff', ['id1', 'id2']).then(() => {
console.log('批量删除成功');
});查询数据表子表单数据
javascript
appService.queryFormRecordList(moduleKey, fieldKey, recordId, query)参数
| 参数 | 类型 | 描述 |
|---|---|---|
| moduleKey | String | 模块标识符 |
| fieldKey | String | 子表单字段标识符 |
| recordId | String | 记录ID |
| query | Object | 查询条件,结构参考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);
});
