卷页.png
①绝密信息严禁泄露
P1
0310金蝶品牌下属logo-00.png
PPT C Lego.png
PPT C-orange.png
版权所有©1993-2012金蝶软件(中国)有限公司
①绝密信息严禁泄露
20120325大品牌Logo.png
C:\Users\yibo_wang\Desktop\素材\閲戣澏PPT姣嶇増瑙嗚鍏冪礌\灏忔柟鐮栦晶瑙嗗浘\PPT C-orange.png
K:\201203盛世确认可用输出\PPT\素材\玻璃砖素材\PPT C Lego.png
K:\201203盛世确认可用输出\PPT\素材\金蝶PPT母版视觉元素\五彩云\五彩雲.png
BOS WEB平台系统部
   范来华        2016.2
EAS800 Web开发培训                                ---进阶篇
卷页.png
①绝密信息严禁泄露
P2
0310金蝶品牌下属logo-00.png
PPT C Lego.png
PPT C-orange.png
培训目标
WEB页面的布局设计
前台代码设计
后台代码设计
调试方式介绍
提纲
目录
卷页.png
①绝密信息严禁泄露
P3
0310金蝶品牌下属logo-00.png
PPT C Lego.png
PPT C-orange.png
培训目标六大增长动力:财务共享推广策略
了解Eventbus的概念
掌握如何实现前台JS逻辑
掌握如何实现WEB服务层逻辑
掌握单据的业务逻辑实现
掌握页面基本布局
按钮
通用查询与查询表格
Form控件与分录表格
Js调试方法
Java调试方法
掌握调试方法
卷页.png
①绝密信息严禁泄露
P4
0310金蝶品牌下属logo-00.png
PPT C Lego.png
PPT C-orange.png
WEB页面的布局设计--标准列表页面
卷页.png
①绝密信息严禁泄露
P5
0310金蝶品牌下属logo-00.png
PPT C Lego.png
PPT C-orange.png
WEB页面的布局设计--按钮配置
功能绑定与click事件,只能二选一,两个都存在时,click事件失效特点:功能绑定方式方便后续扩展点的插入;click事件方式简单明了
卷页.png
①绝密信息严禁泄露
P6
0310金蝶品牌下属logo-00.png
PPT C Lego.png
PPT C-orange.png
WEB页面的布局设计--通用查询配置
卷页.png
①绝密信息严禁泄露
P7
0310金蝶品牌下属logo-00.png
PPT C Lego.png
PPT C-orange.png
WEB页面的布局设计--查询表格配置
卷页.png
①绝密信息严禁泄露
P8
0310金蝶品牌下属logo-00.png
PPT C Lego.png
PPT C-orange.png
WEB页面的布局设计--标准编辑页面
卷页.png
①绝密信息严禁泄露
P9
0310金蝶品牌下属logo-00.png
PPT C Lego.png
PPT C-orange.png
WEB页面的布局设计--Form表单配置
卷页.png
①绝密信息严禁泄露
P10
0310金蝶品牌下属logo-00.png
PPT C Lego.png
PPT C-orange.png
WEB页面的布局设计--分录表格配置
值为时出现该图标
卷页.png
①绝密信息严禁泄露
P11
0310金蝶品牌下属logo-00.png
PPT C Lego.png
PPT C-orange.png
eventbus的概念
事件处理总线
目标:利用可插拔的插件机制,实现系统可扩展性及松耦合
JS层和WebServer层分别实现并提供插入机制
卷页.png
①绝密信息严禁泄露
P12
0310金蝶品牌下属logo-00.png
PPT C Lego.png
PPT C-orange.png
前台代码设计--新功能开发代码定义
卷页.png
①绝密信息严禁泄露
P13
0310金蝶品牌下属logo-00.png
PPT C Lego.png
PPT C-orange.png
前台代码设计扩展开发代码定义
扩展页面无法新增前台功能,供按钮绑定,因此按钮只能执行click事件
卷页.png
①绝密信息严禁泄露
P14
0310金蝶品牌下属logo-00.png
PPT C Lego.png
PPT C-orange.png
前台代码设计--加入业务逻辑
页面的事件和功能:ActionEventHandler的概念
新增页面定义生成在public区域
事件:_self.subscribeEvent("pageOnLoadEvent",_public.pageOnLoadAfter,"after");
功能:_self.subscribeEvent("submitActionEvent",_public.submitBefore,"before");
扩展页面手动在JS增加,写在//@endPrivate前面的区域
事件:_self.subscribeEvent("pageOnLoadEvent",_private.xxxx,"after");
功能:_self.subscribeEvent("submitActionEvent",_private.xxxx,"before");
卷页.png
①绝密信息严禁泄露
P15
0310金蝶品牌下属logo-00.png
PPT C Lego.png
PPT C-orange.png
后台代码设计--新功能开发代码定义
卷页.png
①绝密信息严禁泄露
P16
0310金蝶品牌下属logo-00.png
PPT C Lego.png
PPT C-orange.png
后台代码设计扩展开发代码定义
卷页.png
①绝密信息严禁泄露
P17
0310金蝶品牌下属logo-00.png
PPT C Lego.png
PPT C-orange.png
前后台代码的调用逻辑
卷页.png
①绝密信息严禁泄露
P18
0310金蝶品牌下属logo-00.png
PPT C Lego.png
PPT C-orange.png
前后台代码的调用逻辑
注意ActionActionEvent后缀
事件中后台功能扩展java代码如何返回数据给前台
modelMap.put(“model)
modelMap.put(“initData)
卷页.png
①绝密信息严禁泄露
P19
0310金蝶品牌下属logo-00.png
PPT C Lego.png
PPT C-orange.png
如何主动触发一个事件或功能
fireEvent的运用
打开新窗口与关闭新窗口(addNewWindow, closeCurrentWindow)
卷页.png
①绝密信息严禁泄露
P20
0310金蝶品牌下属logo-00.png
PPT C Lego.png
PPT C-orange.png
后台代码设计--WEB Server层代码部署
部署到服务器后,需重启服务器才可生效
在制作WEB补丁时,相关jar包,可选中该文件,安装补丁时就可自动部
卷页.png
①绝密信息严禁泄露
P21
0310金蝶品牌下属logo-00.png
PPT C Lego.png
PPT C-orange.png
页面配置组件配置
BOTP/DAP/工作流/引入引出/附件管理
卷页.png
①绝密信息严禁泄露
P22
0310金蝶品牌下属logo-00.png
PPT C Lego.png
PPT C-orange.png
页面配置资源配置
卷页.png
①绝密信息严禁泄露
P23
0310金蝶品牌下属logo-00.png
PPT C Lego.png
PPT C-orange.png
调试基础介绍
产品模式
默认以产品模式运行每个界面,产品模式运行时,每个界面的JS都会被打包并且混淆,并将多个JS缩到一个链接中。
Debug模式
Debug模式时,JS的加载是单个加载的,如果想调试某个页面,可以在URL中加上&debug=true样所有页面都以DEBUG模式加载JS
静态化
静态化运行时,页面的HTML直接从服务器上加载,前台进行界面初始化,要想某个页面非静态化运行,可以在url中增加参数&renderModel=client
非静态化
非静态化运行时,界面的HTML根据元数据从前台渲染出来。
JS加载模式
页面运行模式
卷页.png
①绝密信息严禁泄露
P24
0310金蝶品牌下属logo-00.png
PPT C Lego.png
PPT C-orange.png
调试技巧---Chrome调试
JS断点设置
断点类型分三种:默认遇到异常不中断;遇到所有异常都会中断;仅在出现未捕获的异常时才中断。
断点条件,在断点位置的右键菜单中选择“Eidt Breakpoint…”可以设置触发断点的条件,即写一个表达式,表达式为true时触发断点。
调试技巧
开始调试:鼠标右键审查元素或F12
按钮功能:
      调出控制台;
      切换开发环境是全屏还是嵌入;
      清空当前显示;
      将压缩的JS文件格式化;
      定位页面元素;
2.png
3.png
5.png
1.png
4.png
Chrome调试
卷页.png
①绝密信息严禁泄露
P25
0310金蝶品牌下属logo-00.png
PPT C Lego.png
PPT C-orange.png
调试技巧---Chrome调试
Elements Panel
查看当前选中元素的嵌套路径
查看或编辑当前选中元素的样式
查看选中元素的盒模型
监听事件
常用调试面板
卷页.png
①绝密信息严禁泄露
P26
0310金蝶品牌下属logo-00.png
PPT C Lego.png
PPT C-orange.png
调试技巧---Chrome调试
Network Panel
查看站点在一个动作时都加载了哪些文件
查看文件有没有正确加载、加载方式、状态、类型、大小、所用时间
点击查看该文件的具体情况
b2.pmg.bmp
b3.png
常用调试面板
卷页.png
①绝密信息严禁泄露
P27
0310金蝶品牌下属logo-00.png
PPT C Lego.png
PPT C-orange.png
调试技巧---Chrome调试
Source Panel
查看当前站点的CSSJS文件
加断点调试JS代码:单步、跳出跳入循环、调用堆栈、查看变量值
b4.png
常用调试面板
卷页.png
①绝密信息严禁泄露
P28
0310金蝶品牌下属logo-00.png
PPT C Lego.png
PPT C-orange.png
调试技巧---Chrome调试
Console Panel
控制台输出值打印
查看或更改代码调试过程的值
b7.png
常用调试面板
卷页.png
①绝密信息严禁泄露
P29
0310金蝶品牌下属logo-00.png
PPT C Lego.png
PPT C-orange.png
调试技巧---IE调试
JS断点设置
断点条件,在断点位置的右键菜单中选择“条件”可以设置触发断点的条件,即写一个表达式,表达式为true时触发断点。
调试技巧
开始调试:按F12
选择浏览器的版本:选择浏览器模式和文档模式;
按钮功能:
      切换开发环境是全屏还是嵌入;
      将压缩的JS文件格式化;
      定位页面元素;
e5.png
e6.png
e7.png
IE调试
卷页.png
①绝密信息严禁泄露
P30
0310金蝶品牌下属logo-00.png
PPT C Lego.png
PPT C-orange.png
调试技巧---IE调试
HTML 面板
查看当前选中元素的嵌套路径
查看或编辑当前选中元素的样式
查看选中元素的布局
e1.png
常用调试面板
卷页.png
①绝密信息严禁泄露
P31
0310金蝶品牌下属logo-00.png
PPT C Lego.png
PPT C-orange.png
调试技巧---IE调试
脚本面板
查看当前站点的CSSJS文件
加断点调试JS代码:单步、跳出跳入循环、调用堆栈、查看变量值
e2.png
常用调试面板
卷页.png
①绝密信息严禁泄露
P32
0310金蝶品牌下属logo-00.png
PPT C Lego.png
PPT C-orange.png
调试技巧---IE调试
网络面板
点击开始捕捉,可以查看站点在一个动作时都加载了哪些文件
查看文件有没有正确加载、加载方式、状态、类型、大小、所用时间
点击转到详细视图,查看该文件的具体情况
e3.png
e4.png
常用调试面板
卷页.png
①绝密信息严禁泄露
P33
0310金蝶品牌下属logo-00.png
PPT C Lego.png
PPT C-orange.png
调试技巧---Fiddler
功能
Fiddler临时更改服务器静态资源,包括JSCSS文件。
使用步骤
1.打开Fiddler清空浏览器缓存,刷新页面;
f1.png
Fiddler临时更改服务器静态资源
卷页.png
①绝密信息严禁泄露
P34
0310金蝶品牌下属logo-00.png
PPT C Lego.png
PPT C-orange.png
调试技巧---Fiddler
使用步骤
2.  Fiddler的左侧找到指定的文件,在右侧AutoResponder面版中点击按钮Add Rule左侧的文件添加到右侧中;
f2.bmp
Fiddler临时更改服务器静态资源
卷页.png
①绝密信息严禁泄露
P35
0310金蝶品牌下属logo-00.png
PPT C Lego.png
PPT C-orange.png
调试技巧---Fiddler
使用步骤
3. Fiddler的右侧选中刚添加的文件,在右侧的底部Rule Editor第二个下拉框中选中find afile…指定本地的文件;
f3.bmp
Fiddler临时更改服务器静态资源
卷页.png
①绝密信息严禁泄露
P36
0310金蝶品牌下属logo-00.png
PPT C Lego.png
PPT C-orange.png
调试技巧---Fiddler
使用步骤
4. 如此反复添加一个或多个文件;
5. Fiddler右侧AutoResponder面版中,选中复选框Enable automatic responses 和 Unmatchedrequests passthrough
6. 点击右下角的save,刷新页面即可
f4.bmp
Fiddler临时更改服务器静态资源
卷页.png
①绝密信息严禁泄露
P37
0310金蝶品牌下属logo-00.png
PPT C Lego.png
PPT C-orange.png
调试技巧---(常用JS调试入口)
注:以下介绍以Chrome调试为例)
初始化事件
initalizeEvent
常用JS调试入口
卷页.png
①绝密信息严禁泄露
P38
0310金蝶品牌下属logo-00.png
PPT C Lego.png
PPT C-orange.png
调试技巧---(常用JS调试入口)
初始化页面
initalizeAction
v3.png
常用JS调试入口
卷页.png
①绝密信息严禁泄露
P39
0310金蝶品牌下属logo-00.png
PPT C Lego.png
PPT C-orange.png
调试技巧---(常用JS调试入口)
界面渲染事件
_pageOnRenderEventHandler
z3.png
常用JS调试入口
卷页.png
①绝密信息严禁泄露
P40
0310金蝶品牌下属logo-00.png
PPT C Lego.png
PPT C-orange.png
调试技巧---(常用JS调试入口)
构建组件
_buildComponent
z4.png
常用JS调试入口
卷页.png
①绝密信息严禁泄露
P41
0310金蝶品牌下属logo-00.png
PPT C Lego.png
PPT C-orange.png
调试技巧---(常用JS调试入口)
控件的初始化方法
表格初始化方法initGrid
v4.png
常用JS调试入口
卷页.png
①绝密信息严禁泄露
P42
0310金蝶品牌下属logo-00.png
PPT C Lego.png
PPT C-orange.png
调试技巧---(常用JS调试入口)
控件的初始化方法
按钮初始化方法initLinkButton
z6.png
常用JS调试入口
卷页.png
①绝密信息严禁泄露
P43
0310金蝶品牌下属logo-00.png
PPT C Lego.png
PPT C-orange.png
调试技巧---(常用JS调试入口)
事件监听
鼠标事件
m1.png
常用JS调试入口
卷页.png
①绝密信息严禁泄露
P44
0310金蝶品牌下属logo-00.png
PPT C Lego.png
PPT C-orange.png
调试技巧---(常用JS调试入口)
事件监听
键盘事件
m2.png
常用JS调试入口
卷页.png
①绝密信息严禁泄露
P45
0310金蝶品牌下属logo-00.png
PPT C Lego.png
PPT C-orange.png
调试技巧---(常用JS调试入口)
断点
条件断点
t3.png
常用JS调试入口
卷页.png
①绝密信息严禁泄露
P46
0310金蝶品牌下属logo-00.png
PPT C Lego.png
PPT C-orange.png
调试技巧---(常用JS调试入口)
断点
选择断点类型
       遇到所有异常都会中断
       仅在出现未捕获的异常时才中断
7.png
n1.png
8.png
常用JS调试入口
卷页.png
①绝密信息严禁泄露
P47
0310金蝶品牌下属logo-00.png
PPT C Lego.png
PPT C-orange.png
调试技巧---(常用JS调试入口)
使用 try...catch 语句将错误打到控制台
v1.png
常用JS调试入口
卷页.png
①绝密信息严禁泄露
P48
0310金蝶品牌下属logo-00.png
PPT C Lego.png
PPT C-orange.png
该案例以车辆控件与报销区域控件不能实现联动这个问题来做演示
 具体步骤如下:
调试技巧---简单调试案例演示
	出现问题		Chrome浏览器调试		测试
卷页.png
①绝密信息严禁泄露
P49
0310金蝶品牌下属logo-00.png
PPT C Lego.png
PPT C-orange.png
1.出现问题
调试技巧---简单调试案例演示
卷页.png
①绝密信息严禁泄露
P50
0310金蝶品牌下属logo-00.png
PPT C Lego.png
PPT C-orange.png
2.Chrome调试过程
调试技巧---简单调试案例演示
通过F12打开调试环境
通过F12打开调试环境
卷页.png
①绝密信息严禁泄露
P51
0310金蝶品牌下属logo-00.png
PPT C Lego.png
PPT C-orange.png
3.测试
调试技巧---简单调试案例演示
卷页.png
①绝密信息严禁泄露
P52
0310金蝶品牌下属logo-00.png
PPT C Lego.png
PPT C-orange.png
调试方法介绍—java调试
BIM远程调试+EAS服务器DebugServer
BIM启用服务可直接本机调试
卷页.png
①绝密信息严禁泄露
P53
0310金蝶品牌下属logo-00.png
PPT C Lego.png
PPT C-orange.png
Thanks
terimakasih
感謝
谢谢
ありがとう
ขอบคุณ
版权所有©1993-2012金蝶软件(中国)有限公司
20120325大品牌Logo.png
①绝密信息严禁泄露
C:\Users\yibo_wang\Desktop\素材\閲戣澏PPT姣嶇増瑙嗚鍏冪礌\灏忔柟鐮栦晶瑙嗗浘\PPT C-orange.png
K:\201203盛世确认可用输出\PPT\素材\玻璃砖素材\PPT C Lego.png
卷页.png
①绝密信息严禁泄露
P54
0310金蝶品牌下属logo-00.png
PPT C Lego.png
PPT C-orange.png
特别声明
没有金蝶软件国际软件集团有限公司的特别许可,任何人不能以任何形式或为任何目的复制或传播本文档的任何部分。本文档中包含的信息如有更改,恕不另行通知。
由金蝶软件(中国)有限公司和其分销商所销售的某些软件产品包含有其它软件供应商版权所有的软件组件。
Microsoft®WINDOWS®NT®EXCEL®Word®PowerPoint®SQLServer®是微软公司的注册商标。
IBM®DB2®DB2通用数据库、OS/2®ParallelSysplex®MVS/ESAAIX®S/390®AS/400®OS/390®
OS/400®iSeriespSeriesxSerieszSeriesz/OSAFPIntelligentMinerWebSphere®Netfinity®
Tivoli®InformixInformix®动态ServerTM是国际商业机器公司在美国或其他公司的商标。
ORACLE®ORACLE公司的注册商标。
UNIX®UNIXINTERNATIONALCO.,LIMTED的注册商标、OSF/1®Motif®OpenGroup的注册商标。
Citrix®Citrix徽标、ICAProgramNeighborhood®MetaFrame®WinFrame®VideoFrame®MultiWin®以及此处引用的Citrix产品名是CitrixSystems公司的商标或注册商标。
HTMLHATEMOGLUTEKSTILGIYIMSANAYIVETICARETA.S.的注册商标,DHTMLXMLXHTMLW3C®WorldWideWeb协会、计算机科学实验室的商标或注册商标,PureXML是国际商业机器公司的注册商标。
JAVA®是甲骨文美国有限公司的注册商标。
JAVASCRIPT®是甲骨文美国有限公司的注册商标,由其技术开发和实施商Netscape许可使用。
Apusic®是深圳市金蝶中间件有限公司的注册商标。
本文档提到的金蝶®、金蝶KIS®K/3®、金蝶EAS®、友商网®和其它金蝶产品和服务以及它们各自的徽标是金蝶软件(中国)有限公司在中国和世界其它一些国家的商标或注册商标。本文档提到的所有其它产品和服务名称是它们各自公司的商标。