Skip to content

informat.app 应用信息相关函数

概述

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

callAutomatic

调用自动化

javascript
informat.app.callAutomatic({ automaticId, args })
参数类型描述
appIdString调用的自动化归属应用ID,不传递则默认为当前应用
automaticIdString自动化的标识符
argsArray自动化传递的参数
withoutTimeoutLoadingbool是否展示系统的执行loading

返回值 自动化调用结果

javascript
//调用系统自动化
informat.app.callAutomatic({
    // appId: 'msucfeq7305cn',
    automaticId: 'a1',
    args: ['123', 1]
}).then((result) => {
    console.log(result);
})

setAppData

在客户端设置App的数据

javascript
informat.app.setAppData(key, value)
参数类型描述
keyString设置的数据键
valueObject设置的数据值
javascript
informat.app.setAppData('count', 1000).then(res => {
    console.log('setAppData success');
});

getAppData

在客户端获取指定key的App数据

javascript
informat.app.getAppData(key)
参数类型描述
keyString设置的数据键

返回值 类型为 Object

javascript
informat.app.getAppData('count').then(res => {
    console.log('getAppData success', res); // getAppData success 1000
});

getApp

获取当前的应用信息

javascript
informat.app.getApp()

返回值 类型为 Promise<Application>

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

getAppEnv

获取当前的应用环境变量信息

javascript
informat.app.getAppEnv()

返回值 类型为 Promise<Any>

javascript
informat.app.getAppEnv().then(env => {
    console.log(env);
});

getAppEnvByKey

通过Key获取当前的应用环境变量的值

javascript
informat.app.getAppEnvByKey(key)
参数类型描述
keyString应用环境变量的键

返回值 类型为 Promise<Any>

javascript
informat.app.getAppEnvByKey('baseUrl').then(value => {
    console.log(value);
});

getUser

获取当前应用用户信息

javascript
informat.app.getUser()

返回值 类型为 Promise<User>

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

attachmentUrl

获取数据表附件字段文件链接

javascript
informat.app.attachmentUrl(tableKey, fieldKey, fileId)
参数类型描述
tableKeyString模块标识符
fieldKeyString字段标识符
fileIdString文件ID

返回值 类型为 String

javascript
const attachmentUrl = informat.app.attachmentUrl('testTable', 'testField', 'xxxx.png');
console.log(attachmentUrl); // https://next.informat.cn/web0/file/fieldkey/gx6wpgysmthb1/testTable/testField/xxxx.png?token=xxxxxxx

baseURL

获取网站模块根节点链接

javascript
informat.app.baseURL(websiteModuleKey)
参数类型描述
websiteModuleKeyString网站模块标识符

返回值 类型为 String

javascript
const websiteBaseUrl = informat.app.baseURL('testWebsiteModule');
console.log(websiteBaseUrl); // https://next.informat.cn/web0/website/gx6wpgysmthb1/testWebsiteModule

getRefKeys

获取已绑定的平台组件标识符列表

javascript
informat.app.getRefKeys()

返回值 类型为 Array<string>

getRef

通过refKey获取平台内的组件

javascript
informat.app.getRef(refKey)
参数类型描述
refKeyString组件ref标识符

返回值 类型为 Compoent

javascript
const recordSelectDialog = informat.app.getRef('informatAutomaticRecordSelect');
console.log(recordSelectDialog);
if (recordSelectDialog) {
    recordSelectDialog.reloadData();
}

AutomaticRecordSelectComponent

打开数据表记录列表弹窗

refKey计算规则

来自于打开数据表记录列表弹窗中设置的对话框标识符

typescript
interface AutomaticRecordSelectComponent extends Component {
    /**
     * 重新加载数据
     */
    reloadData(): void;

    /**
     * 关闭弹窗
     */
    close(): void;
}

TableViewComponent

数据表视图模块

refKey计算规则

来自于模块设置的模块标识符

typescript
interface TableViewComponent extends Component {
    /**
     * 加载数据,
     * @param {Number} [pageIndex] 不传递则默认为重新加载当前页数据
     */
    _loadData(pageIndex?: number): void;

    /**
     * 设置分页大小,此操作仅会设置分页数量,不会主动加载数据。加载数据请调用{@link _loadData}
     * @param {Number} pageSize 分页数据量大小
     */
    _setPageSize(pageSize?: number): void;

    /**
     * 打开记录详情页
     * @param recordId
     */
    _openRecord(recordId: string): void;

    /**
     * 重置视图过滤条件,并将页码重置为1后,重新加载数据
     */
    _resetQueryFilterConditions(): void;

    /**
     * 设置视图过滤条件项的值,
     * @param {string} key  字段标识符
     * @param {any} value   字段值
     */
    _setQueryFilterConditionValue(key: string, value: any): void;

    /**
     * 设置视图过滤条件项的值计算函数,
     * @param {string} key  字段标识符
     * @param {any} func   计算函数
     */
    _setQueryFilterConditionFunc(key: string, func: any): void;

    /**
     * 设置视图过滤条件项的值比较方式
     * @param {string} key  字段标识符
     * @param {any} opt   比较方式
     */
    _setQueryFilterConditionOpt(key: string, opt: any): void;

    /**
     * 设置视图中选中的记录
     * @param {Array<string>} idList 记录ID列表
     * @param {string} mode          设置选中的模式,支持replace:重置,add:追加,remove:移除,toggle:翻转选中
     */
    _setSelectionIdList(idList: Array<string>, mode: 'replace' | 'add' | 'remove' | 'toggle' | string): void;

    /**
     * 获取视图中选中的记录ID列表
     * @returns Array<string>
     */
    _getSelectionIdList(): Array<string>;

    /**
     * 获取视图中的数据信息
     * @returns Object
     */
    _getTableData(): {
        /**
         * 数据表原始纪录列表
         */
        tableRawRecordList: Array<Record<string, any>>,
        /**
         * 数据表标识符字段纪录列表
         */
        tableRecordList: Array<Record<string, any>>,
        /**
         * 视图数据总数
         */
        tableRecordPageTotal: number,
        /**
         * 视图当前分页页码
         */
        tableRecordPageIndex: number,
        /**
         * 视图当前分页大小
         */
        tableRecordPageSize: number,
    };
}

DashboardModuleComponent

仪表盘模块

refKey计算规则

来自于模块设置的模块标识符

typescript
interface DashboardModuleComponent extends Component {
    /**
     * 重新加载仪表盘数据
     */
    _loadData(): void;

    /**
     * 设置仪表盘过滤条件值
     * @param {string} key  字段标识符
     * @param {any} value   字段值
     */
    _setFilterConditionValue(key: string, value: any): void;

    /**
     * 获取卡片列表
     */
    _getCardList(): Array<{
        /**
         * 卡片ID
         */
        id: string
        /**
         * 卡片名称
         */
        name: string,
        /**
         * 卡片类型
         */
        type: string,
        /**
         * 是否在卡片内部(标签页卡片、卡片容器、折叠面板)
         */
        isInTab: boolean,
    }>;

    /**
     * 刷新卡片
     * @param {string} cardId
     */
    _loadCardData(cardId: string): void;

    /**
     * 设置仪表盘卡片过滤条件值
     * @param {string} cardId
     * @param {string} key
     * @param {string} value
     */
    _setCardFilterConditionValue(cardId: string, key: string, value: any): void;
}

RecordFormComponent

数据表单

refKey计算规则

TableForm-{模块标识符}-{记录ID}

当记录不存在时,则记录ID使用空字符串替代。

例如:

假设存在员工表模块标识符为staff

记录详情页(记录ID为:zhangsan): TableForm-staff-zhangsan记录创建页: TableForm-staff-

typescript
interface RecordFormComponent extends Component {
    /**
     * 获取表单数据信息
     */
    _getFormData(): {
        /**
         * 应用信息
         */
        app: Record<string, any>,
        /**
         * 用户信息
         */
        user: User,
        /**
         * 表单记录数据
         */
        formRecord: Record<string, any>,
        /**
         * 表单模块标识符
         */
        formModuleKey: string
    };

    /**
     * 设置字段值
     * @param {string} key  字段标识符
     * @param {any} value   字段值
     * @param {string} setType 设置方式,仅在子表字段生效.reset:覆盖,append:追加尾部,insert:追加头部
     * @private
     */
    _setFieldValue(key: string, value: any, setType?: 'reset' | 'append' | 'insert' | string): void;

    /**
     * 关闭当前表单
     */
    _close(): void;

    /**
     * 重新加载表单
     * @private
     */
    _reload(): void;

    /**
     * 校验表单
     * @param callback 校验后回调函数并传入表单校验结果
     */
    _validate(callback?: (valid: boolean) => {}): void;
}