提交 fc9435ae 编写于 作者: WodahsOrez's avatar WodahsOrez

update: UI服务

上级 ae31d2f9
/**
* @description 界面行为对象
* @export
* @interface IUIAction
*/
export interface IUIAction {
/**
* 界面行为模式
* @description 值模式 [云实体界面行为类型] {SYS:系统预定义、 FRONT:前台调用、 BACKEND:后台调用、 WFFRONT:工作流前台调用、 WFBACKEND:工作流后台调用 }
* @type {( string | 'SYS' | 'FRONT' | 'BACKEND' | 'WFFRONT' | 'WFBACKEND')}
*/
uIActionMode: string | 'SYS' | 'FRONT' | 'BACKEND' | 'WFFRONT' | 'WFBACKEND';
/**
* 界面行为标记
* @type {string}
*/
uIActionTag: string;
}
\ No newline at end of file
export * from './common' export * from './common'
export * from './app-logic'
\ No newline at end of file
import { IUIAction } from '@ibiz-core';
/**
* 界面行为参数
* @interface UIActionParams
*/
interface UIActionParams{
args: any[],
context: any,
params: any,
$event?: any,
xData?: any,
actionContext?: any,
srfParentDeName?: string,
deUIService?: any,
}
export class AppBackendAction {
/**
* 执行界面行为
*
* @param args
* @param context
* @param params
* @param $event
* @param xData
* @param actionContext
* @param srfParentDeName
*
* @memberof AppBackendAction
*/
public static async execute(uiAction:IUIAction, params: any) {
// TODO 后台调用
}
}
import { IUIAction } from '@ibiz-core';
/**
* 界面行为参数
* @interface UIActionParams
*/
interface UIActionParams{
args: any[],
context: any,
params: any,
$event?: any,
xData?: any,
actionContext?: any,
srfParentDeName?: string,
deUIService?: any,
}
export class AppFrontAction {
/**
* 执行界面行为
*
* @param args
* @param context
* @param params
* @param $event
* @param xData
* @param actionContext
* @param srfParentDeName
*
* @memberof AppFrontAction
*/
public static async execute(uiAction:IUIAction, params: any) {
// TODO 前台调用
}
}
import { IUIAction } from '@ibiz-core';
/**
* 界面行为参数
* @interface UIActionParams
*/
interface UIActionParams{
args: any[],
context: any,
params: any,
$event?: any,
xData?: any,
actionContext?: any,
srfParentDeName?: string,
deUIService?: any,
}
export class AppSysAction {
/**
* 执行界面行为
*
* @param args
* @param context
* @param params
* @param $event
* @param xData
* @param actionContext
* @param srfParentDeName
*
* @memberof AppSysAction
*/
public static async execute(uiAction:IUIAction, params: any) {
// TODO 系统预置调用
}
}
import { AppBackendAction } from './app-backend-action';
import { AppFrontAction } from './app-front-action';
import { IUIAction } from "@ibiz-core";
import { AppSysAction } from './app-sys-action';
/**
* 界面行为功能执行
*
* @export
* @class AppUIAction
*/
export class AppUIAction {
/**
* 执行界面行为
*
* @param uiAction 界面行为信息
* @param params 运行参数
*/
public static executeUIAction(uiAction: IUIAction, params: any){
if(uiAction.uIActionMode == 'FRONT'){
AppFrontAction.execute(uiAction, params);
}else if(uiAction.uIActionMode == 'BACKEND'){
AppBackendAction.execute(uiAction, params);
}else if(uiAction.uIActionMode == 'SYS'){
AppSysAction.execute(uiAction, params);
}else{
// TODO 工作流界面行为
}
}
}
...@@ -2,3 +2,4 @@ export * from './common' ...@@ -2,3 +2,4 @@ export * from './common'
export * from './views' export * from './views'
export * from './widgets' export * from './widgets'
export * from './editor' export * from './editor'
export * from './app-logic'
\ No newline at end of file
export * from './control-service' export * from './control-service'
export * from './entity' export * from './entity'
export * from './ui-service/ui-service-base'
\ No newline at end of file
/**
* 界面服务基类
*
* @export
* @class UIServiceBase
*/
export class UIServiceBase {
/**
* 执行界面行为统一入口
*
* @param {string} uIActionTag 界面行为tag
* @param {any[]} args 当前数据
* @param {any} context 行为附加上下文
* @param {*} [params] 附加参数
* @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文
* @param {*} [srfParentDeName] 父实体名称
*
* @memberof UIServiceBase
*/
protected async excuteAction(
uIActionTag: string,
args: any[],
context: any = {},
params: any = {},
$event?: any,
xData?: any,
actionContext?: any,
srfParentDeName?: string,
) {
// TODO 执行UI服务
}
}
import { Http, UIServiceBase } from '@ibiz-core';
/**
* 系统UI服务对象基类
*
* @export
* @class SysUIServiceBase
* @extends {UIServiceBase}
*/
export class SysUIServiceBase extends UIServiceBase {
/**
* Creates an instance of SysUIServiceBase
*
* @param {*} [opts={}]
* @memberof SysUIServiceBase
*/
constructor(opts: any = {}) {
super(opts);
}
/**
* 初始化界面行为数据
*
* @memberof SysUIServiceBase
*/
protected async initActionMap(): Promise<void> {
// TODO 初始化界面行为需要的配置参数
}
}
\ No newline at end of file
import { SysUIServiceBase } from './calculator-ui-service-base';
/**
* 系统UI服务
*
* @export
* @class SysUIService
* @extends SysUIServiceBase
*/
export class SysUIService extends SysUIServiceBase {
/**
* Creates an instance of SysUIService.
* @memberof SysUIService
*/
constructor(opts?: any) {
super(opts);
}
/**
* 获取实例
*
* @static
* @param 应用上下文
* @return {*} { SysUIService }
* @memberof SysUIService
*/
static getInstance(context?: any): SysUIService {
return new SysUIService({ context: context });
}
}
export default SysUIService;
\ No newline at end of file
import { Http, UIServiceBase } from '@ibiz-core';
/**
* {{appEntity.logicName}}UI服务对象基类
*
* @export
* @class {{pascalCase appEntity.codeName}}UIServiceBase
* @extends {UIServiceBase}
*/
export class {{pascalCase appEntity.codeName}}UIServiceBase extends UIServiceBase {
/**
* Creates an instance of {{pascalCase appEntity.codeName}}UIServiceBase
*
* @param {*} [opts={}]
* @memberof {{pascalCase appEntity.codeName}}UIServiceBase
*/
constructor(opts: any = {}) {
super(opts);
}
/**
* 初始化界面行为数据
*
* @memberof {{pascalCase appEntity.codeName}}UIServiceBase
*/
protected async initActionMap(): Promise<void> {
// TODO 初始化界面行为需要的配置参数
}
}
\ No newline at end of file
import { {{pascalCase appEntity.codeName}}UIServiceBase } from './{{spinalCase appEntity.codeName}}-ui-service-base';
/**
* {{appEntity.logicName}}UI服务
*
* @export
* @class {{pascalCase appEntity.codeName}}UIService
* @extends {{pascalCase appEntity.codeName}}UIServiceBase
*/
export class {{pascalCase appEntity.codeName}}UIService extends {{pascalCase appEntity.codeName}}UIServiceBase {
/**
* Creates an instance of {{pascalCase appEntity.codeName}}UIService.
* @memberof {{pascalCase appEntity.codeName}}UIService
*/
constructor(opts?: any) {
{{!-- const { context: context, tag: cacheKey } = opts; --}}
super(opts);
}
/**
* 获取实例
*
* @static
* @param 应用上下文
* @return {*} { {{pascalCase appEntity.codeName}}UIService }
* @memberof {{pascalCase appEntity.codeName}}UIService
*/
static getInstance(context?: any): {{pascalCase appEntity.codeName}}UIService {
return new {{pascalCase appEntity.codeName}}UIService({ context: context });
}
}
export default {{pascalCase appEntity.codeName}}UIService;
\ No newline at end of file
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册