文档介绍:.
1 / 45
动态扩展平台扩展脚本编写指南
EAS产品部技术架构部 贺召军
导读
阐述基于动态扩展平台DEP开发的扩展脚本编写指南和相关注意事项,通过本规范指导开发工作。
适用读者
实施人员、现场二次开发人员、研nstance<>方法,如果需要引入其它包,<>;即可。如果没使用with指定作用域,则必须使用全名称〔包名+类名。
注意:当引入的不同包路径下有重复的类名称情况下,在with<easNames>{作用域中,该类名在引用时也需要指定其全路径。
变量
使用var 声明变量,声明时无具体类型运行期确定类型。例如var editData = <>;声明editData为编辑界面的编辑对象。变量的定义声明遵循javascript语法。
函数
使用 function 关键字开始函数的声明,在函数声明中看不到类型,包含参数和返回值,如下所示
5 / 45
.
//创建值对象
function createNewData<entityBosType, entityPK>
{
var objectValue =<>;
<entityBosType>;
<<entityPK>>;
return objectValue;
}
然后就可以调用了定义的函数了
var bizInterface = <new <entityPK>>;
<createNewData<entityBosType,entityPK>>; //新增
在javaScript中没有类的概念,接口实现也使用关键字function声明。比如给一些控件增加监听器:
//F7控件增加值改变监听
<"prmtHROrg">.addDataChangeListener<function<event>
{
<
"DATA CHANGED:" +<> +
"$$$$" + <>>;
}>;
//KDTable增加表格编辑事件监听
<"kdtEntrys">.addKDTEditListener<function<event,methodName>{
if<methodName == "editStopped">
{
<"$$$$$EditStopped">;
}
}>;
使用扩展脚本
扩展定义:针对扩展点编写扩展脚本。
扩展点:能够支持扩展脚本的公用业务方法,需要改变其执行效果预期的地方。
在实体或ui里扩展定义可编写扩展脚本,选择某个叶子节点即可编写针对该业务方法的前置脚本和后置脚本。前置脚本在业务方法被调用前被执行,后置脚本在业务方法返回后被执行。脚本中可以使用业务方法的参数,也可以设置业务方法的返回值。
第一章 上下文
扩展脚本中封装了两种上下文,插件上下文〔pluginCtx和方法上下文〔methodCtx。这两种上下文为系统内置,无需额外的声明或获取。
5 / 45
.
pluginCtx主要存放当前执行环境的相关信息,比如服务端的Context,客户端的界面控件、界面状态、编辑对象等。methodCtx存放当前操作的相关信息,包含方法参数和方法返回值。
〔pluginCtx
客户端和服务端的插件上下文存储的内容不一样,实现方式上,其分别对应于两个java类,和。这两个类中的方法均可以在脚本中直接使用。
上下文都存在get和put方法。脚本中直接使用get<key>获取值,put<key,value>设置值。
获取服务端上下文
<>获取服务端上下文,比如:
//服务端更新