快程业务构建平台开发教程>进阶篇>第十三章 JavaScript脚本

1.1      适用范围
JavaScript脚本可以应用于快程应用平台的特定事件处理,包括客户端和服务端。客户端的事件包括表单事件、查询事件、报表事件、页面事件等;服务端的事件包括实体事件、工作流事件等。客户端事件主要用于控制数据的展示、控件的行为等;服务端事件用于处理特定的业务逻辑和数据存储等。
1.2      类型定义
JavaScript本身是弱类型的,没有类型声明,只在运行时才可以确定变量的实际类型,这在编辑时造成了一定的困难,系统无法根据变量的类型来提供上下文帮助。快程应用平台的脚本编辑器提供了一种方式,在变量声明后增加一个注释块,在注释块中以冒号开头紧跟变量的类型名称,以此来声明JavaScript变量类型,如:
var name /*:String*/ = “jack”;
上例中我们即声明了类型为String的name变量,这样在接下来的代码编辑中当我们输入name.时脚本编辑器会提供String的函数帮助。
       在变量声明后如果我们紧接着输入/*:系统也会提供类型的上下文帮助,如下图:
         
       在可声明的类型中,除了JavaScript本身的类型之外,还包括快程应用平台提供的特定类型,这在实际应用中我们会逐个介绍。
1.3      类的定义
快程应用平台的脚本编辑器采用于标准的方式来定义JavaScript类,如下图所示:
通过点击“新建类”按钮打开新建类窗口,输入类的名称,编辑器自动创建类的声明模板。在构建函数中可以声明参数名称和类型,在构建函数的注释中@class后用于对类进行注释说明,@param后面跟上参数名称和参数说明。
1.4      类方法定义
在脚本编辑器中点击“新建类方法”打开方法创建窗口,输入方法名称,并选择是否是静态方法,点击确定创建类方法,创建后的结果如下:
上类中我们创建了名为doSomeThing的类方法,修改该方法的参数,并在方法的注释中加以说明,这样在我们使用该类时能够得到相应的上下文帮助。方法注释中@method后面是对方法的说明,@param与构造函数的格式相同,用于对函数的参数加以说明。静态函数与非静态函数的不同是:在函数声明中有没有prototype关键字,如果没有则是静态函数,否则为非静态函数。
1.5      类属性定义
类的属性也可分为静态和非静态,它们的区分和类的函数是一样的,如下例所示的为非静态属性:
       注意:类属性的说明是在行注释中而非块注释。
1.6      文件包含
JavaScript类定义完成后在使用时通过include函数将类所在的文件加载进来,如下图所示:
接着就可以对类对象了,如下图所示:
        
 
1.7      脚本的调试
脚本的调试也分为客户端脚本调试和服务端脚本调试两种。服务端脚本调试已经集成到快程应用平台中,而客户端的脚本调试还需要用到Visual Studio或者Windows Script Debugger等相关工具。
1.7.1        客户端脚本调试
使用Visual Studio调试:
1.      运行QDesktop,打开应用窗口
2.      在Visual Studio中选择“工具”下载的“附加到进程”,打开如下窗口
在可用进程中选择QDesktop.exe,在附加到选项中要选中“脚本”,点击“附加”
3.      在解决方案中打开ScriptProxy.js,并在第60行设置断点,如下图:
4.      继续执行QDesktop中的相应操作,当执行事件时Visual Studio会触发断点,通过执行“逐语句”或F11进入事件函数件进行脚本调试。
 
使用Windows Script Debugger调试:
1.      下载并安装Windows Script Debugger,下载地址如下:
2.      运行QDesktop,打开应用窗口。
3.      运行Windows Script Debugger,在Running Documents窗口中找到ScriptProxy.js,并双击打开。
4.      在ScriptProxy.js中的第60行设置断点,如下图:
5.      继续执行QDesktop中的相应操作,当执行事件时Windows Script Debugger会触发断点,通过执行Step Into进入事件函数件进行脚本调试。
1.7.2        服务端脚本调试
实体中的“服务扩展(脚本)”或工作流任务脚本可以用快程应用平台内建的远程调试器进行调试。打开需要调试的脚本后,将光标移动到需要设置断点的代码行上,然后点击调试工具栏中的“添加/删除断点”按钮,当代码行的背景色变红时表示断点设置成功,如下图所示:


 

       当断点设置成功后,首先要启动远程调试器,点击“启动调试”按钮启动远程调试器。远程调试器成功启动后就可以去执行相关的操作,以使脚本代码被执行。当系统所执行的脚本代码已经被设置断点时,系统会弹出调试窗口,如下图所示:
红色背景的代码行为所设置的断点,黄色背景的代码行为当前执行的代码行。按下F10或点击“跳过”按钮执行下一条语句;按下F11或点击“进入”调试到函数内部代码;点击“跳出”使执行代码转到当前函数的调用语句后;点击“继续”继续执行代码直到遇到下一个断点。要查看变量的值可双击变量名称,或打开“查看变量”窗口,输入变量名称后显示变量的值。