参考pageframe v使用手册_第1页
参考pageframe v使用手册_第2页
参考pageframe v使用手册_第3页
参考pageframe v使用手册_第4页
参考pageframe v使用手册_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、引言1.1概述PageFrame是前端业务开1、引言1.1概述PageFrame是前端业务开发平台,其后面对接服务接口,前端提供页面组件,快速开发PageFrame的作用范PageFrame平台开发前端J2EEPageFrame并快速使用它,以及使用过程中的注意事项。PageFrame主要提供以下功能231.2术语定阅读型报文一个服务有阅读型和交互型两种报文。阅读型报文是显示给前端开发者交互型报文交互型报文是在服务调用时使用的。这时的报文就是标准的key:value简单类交互型报文交互型报文是在服务调用时使用的。这时的报文就是标准的key:value简单类型:为 语言中的类。本文定义为简单类型的类有数据的格原始类型:为JAVANew1.3适用人PageFrame平台开发的所有开发人员1.4参考命名规1.4.1服务编码命名规范文缩写命名,尽量避免khrw、ljshf等中文简拼明明。终端类型为PAD、PC、PHONE。1.5参考资《PageFrame.pdm2、下载与安WEBWEBjs组件目录,包括各种数据交互/页面展示组件存放PC版业务页面目录存放PAD版业务页面目PHONEPageFramePageFramePageFrame数据库初始化《PageFrameV1.0.docPageFrame开发人员使用手册pageframe_v1.0.warEclipse/JIDEAWEB注意事项:pageframe 中没有appframe相关的配置文件,在具体项目中需要合集成appframe的相关配置。3、使用说3.1初始3.1.1数据库初始化在指定的数据库用户下执行PageFrame.sql文件中的内容。PageFrame.sql会创建PageFrame所需要的表,这些表中存放的都是配置数据。具体表和字段的说明请参见3.1.2配置文件初始在使用PageFrame前,需要配置一些本地特殊的配置。具体如下AppFrame数据库相关配置AppFrame数据库相关配置PageFrame相关的配置步骤defaults.xmltransaction.mappingdatasource.mapping中增在“name="com.asiainfo.pageframe"value="aiscrmaiscrm”为本地项目存放PageFrame相关表的数据源名称AppFrame缓存配置cache.xml增加以下配置,如果有雷同,请删除PageFrame中需要增加的记录<!--需要的缓存begin<!--OSDI服务列表缓存<cacheid="com.asiainfo.pageframe.data.CfgOSDISrvEventCache"<!--页面配置缓存<!--权限缓存addbypangwb<cacheid="mon.service.impl.BsSecFunctionCacheImpl"<!--国际化编码<cacheid="com.asiainfo.tools.exception.cache.CfgI18nResourceCacheImpl"init="true"<!--FTP配置<cacheid="mon.cache.BsFtpCacheImpl"<cacheid="mon.cache.BsFtpPathCacheImpl"<!--菜单功能组成配置缓存<!--静态数据<cache<!--pageframe需要的缓存endperties配置aicperties配置aicrmosdi_bean.xml配置在本地项目工程配置根目录新建配置文件“osdi_bean.xml”,内容如下<?xmlversion="1.0"encoding="UTF-<beansid="SESSIONdesc="session中信息<beanid="Operator0"class="com.asiainfo.pageframe.data.PhoneInfo"desc="客户信息<attrname="BILL_ID<attr<attrname="ISLOCALCUST<attrname="COUNTY_CODE<attrname="COUNTY_NAME<attrname="CUST_ID<attr<attrname="CUST_STATUS<attrname="BALANCE<attr""desc=""""desc=""""desc=""""desc=""""desc=""""desc=""""desc=""""desc=""""desc="""<attrname="USER_ID<attrname="OS_STATUS<attrname="NET_AGE<attrname="CUST_TYPE<attrname="OS_STATUS_NAME<attrname="CUST_NAME<attr<attrname="OFFER_NAME<attrname="TRADEMARK<attrname="TRADEMARK_NAME<attrname="REGION_CODE<attrname="REGION_NAME<attrname="USER_STATUS<attrname="REAL_NAME_FLAG<attr"desc=""""desc=""""desc="""<attrname="USER_ID<attrname="OS_STATUS<attrname="NET_AGE<attrname="CUST_TYPE<attrname="OS_STATUS_NAME<attrname="CUST_NAME<attr<attrname="OFFER_NAME<attrname="TRADEMARK<attrname="TRADEMARK_NAME<attrname="REGION_CODE<attrname="REGION_NAME<attrname="USER_STATUS<attrname="REAL_NAME_FLAG<attr"desc=""""desc=""""desc=""""desc=""""desc=""""desc=""""desc=""""desc=""""desc=""""desc=""""desc=""""desc=""""desc=""""desc=""""desc=""""desc=""<!--虚拟网产品信--"""<!--流量产品信息 """<!--短信认证信息<beanid="Operator1"class="com.asiainfo.pageframe.data.PhoneInfo"desc="客户信息<attr"""""""""<!--用户认证信息"<beanid="Operator2"<attr"""""""""<!--用户认证信息"<beanid="Operator2" desc="客户信息""""""有些后端服务的返回对象的一些信息需要放入Session中,供后续服务使用。这里对PageFrame中目前用的的一些后端服务返回对象属性保存到Session的操作做一下说明。打开“工程目录/WEB-INF/classes/pageframe/res/osdi_bean.xml”文件。该文件配置了PageFrame中存放在SessionBean和后端服务返回对象的属性之间的映射关系。Session中的。文档表示,如“BASEINFO.COUNTY_CODE”,表示返回对象中有个属性名称“BASEINFO”,但它的类型是个对象,需Session中的。文档表示,如“BASEINFO.COUNTY_CODE”,表示返回对象中有个属性名称“BASEINFO”,但它的类型是个对象,需要继续指定到该对象中的属性“COUNTY_CODE”。下面就对配置Sessionosdi_bean.xml中配置新建的属性和返回对象中的属性的映射关系。在服务中可以通过ServiceManager.getUser().get(“CUST_INFO”)获取在osdi_bean.xml中“<attrname=”配置属性name=”#XXX”时,值为“#”开头。以开头的“name”会放入 的Map中。在服务中可以通日志配置<?xmlversion="1.0"encoding="utf-pattern="'.'yyyyMMddHH"remaintime="240"ReturnEventPageFrame中用于存放在Session中的客户信remaintime属性和splittime属性的单位。表示his目录中只保留10小时内的历史文件。splittime:分割文件时长。如“1”表示每一个小时分割文件一次。把历史flushtaskclazz"mon.remote.LogRemoteFlush"类把日志发往日志心的服务器,使用remote发送的,地址配置在/remote/perties<?xmlversion="1.0"encoding="UTF-<!DOCTYPEweb-appPUBLIC"-//SunMicrosystems,Inc.//DTDWebApplication2.3//EN"<web-<filter-name>ControlFilter</filter-<filter-class>com.asiainfo.pageframe.ControlFilter</filter-<filter-<filter-name>ControlFilter</filter-<url-pattern>/*</url-</filter-<listener-class>com.asiainfo.tools.fixmemcache.impl.SessionLifeCycle</listener-<session-<session-timeout>5</session-</session-<welcome-file-<welcome-file>index.html</welcome-</welcome-file-</web-<session-<session-timeout>5</session-</session-<welcome-file-<welcome-file>index.html</welcome-</welcome-file-</web-FilterControlFilterinit方法中初publicvoidinit(FilterConfigfilterConfig)throwsServletException{super.init(filterConfig);}项目中通用DAO的使用说明通用DAO是基于Appframe的数据库操作实现的。其主要是舍去了appframe中的bo,enginesql“sql_mysqlxml”。内容如下:<?xmlversion="1.0"encoding="utf-<sqlgroupname="aiscrm"<sqlid="query_i18n_resource"dbid="">select*fromcfg_i18n_resourcewherestate<sqlid="query_intf_code_mapping"dbid="">select*fromcfg_intf_code_mappingwherestate='U'</sql><sqlid="query_mkt_tpl_rel"dbid="">select*fromcfg_mkt_tpl_relwherestate*<sqlid="query_page_element_rule"dbid="">select*fromcfg_page_element_rulewherestate='U'</sql>“dbiddefaults.xml方式“:where条件,请增加“where11DAOSVIDAOSVdao(IDAOSV)ServiceFactory.getService(IDAOSV.class);获取到通用的DAO,其中的方法简要说明一下:publicObject[]querySql(Stringsqlid,HashMapparMap,intstart,intend)throws中没有配置条件变量,这里照样可以把条件放入parMap中。publicvoidexeSql(String中没有配置条件变量,这里照样可以把条件放入parMap中。publicvoidexeSql(Stringdbid,Stringsql,HashMapmap)throwspertiessqlpublicintqueryCountSql(Stringsqlid,HashMapparMap)throwsOSDI总体配置“<datepattern>yyyy-MM-ddAppframe开发的,该配置可以去除。<objclazz="mon.SessionManager"get="getUser"Code“<rulecheckclazz="com.asiainfo.pageframe.srv.event.OSDIDefaultRuleCheckEvent">OSDI服务调用器配置打开“工程目录/lib/pageframeV1.0.jar/pageframe/res/osdi_invokercfg.xml”文件。“<invokerclazz="mon.requestchannel.srv.OSDIInvoker"><srvgroupAppframe的调用方式。如果后台非Appframe开发的服务,需要自己实现com.asiainfo.tools.osdi.IInvoker接口实现本地化的服务调用。如果项目中有多种服务调用,可以按srvgroup(服务配置页面中的group属性)分OSDI抽象/接口类对应的实现类配打开“工程目录/lib/pageframeV1.0.jar/pageframe/res/osdi_mapping.xml”文件。“<propertyinterclazz="java.util.List"implclazz="java.util.ArrayList"/><propertyOSDI抽象/接口类对应的实现类配打开“工程目录/lib/pageframeV1.0.jar/pageframe/res/osdi_mapping.xml”文件。“<propertyinterclazz="java.util.List"implclazz="java.util.ArrayList"/><propertyinterclazz="java.util.Map"请求管道配置打开“工程目录/WEB-INF/classes/pageframe/res/request.xml”文件的方式访问。在项目开发阶段便于调试可以为“Y”,上线时为“N“N”为不能访问服务配置页面。开发阶段为“Y”,上线时为“NAIConfig.xml配置打开“工程目录/WEB-INF/classes/AIConfig.xml”文件“<ConfigItemname="IS_URL_CHECK_FLAGremarks="URL合法性线需为“Y“<ConfigItemname="IS_SRV_CHECK_FLAGremarks="是否做服务的合法性线需为“Y<ConfigKindname="UNCHECK_URL"remarks不进行验证的url包括“<ConfigKind3.2服务配置操作说WEB3.2服务配置操作说WEBhttp://ip:port/osdi/configServiceNew、ServiceDisaccord、ServiceUpdate、ServicePackage四个Tab页。我们一个一个的详细说明。3.2.1Service这些服务类名称需要满足3.1.22中服务名称配置。输入连续的字符后回车,会显示ClassLoader中转载的类路径或名称含有输入字符的类列表。出现如下图:+“#”++“#”+“方法名称”组成的classmethodJSON数据,inputparametersclassmethodJSON数据,inputparameters属性表示输入入参数的个数,显示的顺序表示参数的顺序。Outputparameters对象表示一个返回对象,不是否可操是否可操是否可操是告诉前端页面开发者该字段是否是告诉前端页面开发者该字段允许是告诉前端页面开发者该字段的数据是否可以缓存在客户端。为“true”时action属性必须配置是是在也只实现了“电话号码格式检是是是否可操是否可操是告诉前端页面开发者该字段是否是告诉前端页面开发者该字段允许是告诉前端页面开发者该字段的数据是否可以缓存在客户端。为“true”时action属性必须配置是是在也只实现了“电话号码格式检是是是属性后面有个“choose”按钮,可以选择上下文变量中的某个变量是否显示给前端开是value否否否否否否服务返回对象处配置为一个实现了IEvent接口的果作为该事件的参数将继续处Bean对象服务返回报文处IEvent接口的returnEvent之后执行。该事件的参数是返回Bean被报文化后报文,目前是服务返回对象处配置为一个实现了IEvent接口的果作为该事件的参数将继续处Bean对象服务返回报文处IEvent接口的returnEvent之后执行。该事件的参数是返回Bean被报文化后报文,目前是文对象做二次处理。可以配置多IEvent接口的事件的参数将继续处理。这里可Beans对象做二次服务调用超时时务调用超时后,如果配置了invokeTimeoutEvent则服务参数服务调用超时事配置为一个实现了IEvent接口的数作为该事件的参数将继续处服务调用前规则配置该服务参数应该满足的规则,只有这些规则校验通过才会真正调用服务。规则配置在服务修改页面中才能配置。属性后面有“configIEvent类路径。可以为每个服务配置单属性默认值配置属性默认值配置QRY(RUL规则SMT(提交、RPT(报表RequestChannelParameter类中的属性对象和属性。默认值只Bean时默认值被设置,值来源于上下文变量RequestChannelParameter。下面对以上属性做一下说明:属性名请求流水每次请求都重新会话流水号每次操作员登陆客户端的客户端的客户端类型客户端MACRequestChannelParameter类中的属性对象和属性。默认值只Bean时默认值被设置,值来源于上下文变量RequestChannelParameter。下面对以上属性做一下说明:属性名请求流水每次请求都重新会话流水号每次操作员登陆客户端的客户端的客户端类型客户端MAC地客户端屏客户端屏客户端屏幕像素宽客户端屏幕像素高操作员名操作员对应的员工配置的操作员操作机器IP操作员工归属组织会话流水是否允许同时多次客户手机是否家庭亲情网用户标示是本地用户还是外省用户1=外省0=幕像素宽客户端屏幕像素高操作员名操作员对应的员工配置的操作员操作机器IP操作员工归属组织会话流水是否允许同时多次客户手机是否家庭亲情网用户标示是本地用户还是外省用户1=外省0=停状态描基础套餐基础套餐地区代码10:非实名,11:实客户实名客户手机需要验证的业务编ID或者档次ID密码,证件认证时才有证件类型信时显示短信认证1:通过0:停状态描基础套餐基础套餐地区代码10:非实名,11:实客户实名客户手机需要验证的业务编ID或者档次ID密码,证件认证时才有证件类型信时显示短信认证1:通过0:虚拟网标示虚拟网产品流量事件配置事件是在OSDI处理流程中可以本地实现的处理行为。事件必须实com.asiainfo.tools.osdi.IEvent事件配置事件是在OSDI处理流程中可以本地实现的处理行为。事件必须实com.asiainfo.tools.osdi.IEvent类Session服务调用返Session存储映射户短信身份校验信息Session服务调用SessionSession服务调用返回Session默认规则校验事件是配置在OSDI.xml中的,这里不需要选择Session服操作员登陆对接的是SecFrame的操作员登事件类型编类型名服务调用返回结果报文化并实现了“com.asiainfo.tools.osdi.IEvent并实现了“com.asiainfo.tools.osdi.IEvent”接口的类都枚举出来供选择。如图3.2.2Service点击“ServiceDisaccordClassLoader中类的参数发员组织切换时重新设Session中的操作员SecFrame的点击右侧的“update”按钮。出现和“ServiceNew直接点点击右侧的“update”按钮。出现和“ServiceNew直接点击“submit”按钮就可以3.2.3Servicecode搜索的输入框,输入服务名称,支持模糊查找,回车就能查找匹配Classloader中没有找到对应的类或方法。只有“delete”另外在“rules”属性后面多了“config”按钮,另外在“rules”属性后面多了“config”按钮,该按钮只在服务修改页面中有其他的属性修改后点击右上角的“submit”按钮就保存了。保存的逻辑是删除原有的.1规则配置点击“config操作“Delete”:删除该规点击“AddProp”按钮,右侧属性映射关系会增加一条记录choose1-5最后点击“1-5最后点击“Submit”按钮保存页面上所有的规则信息sql,到生成环境执行。一个服务导出一个sql文件,文件中有一下表的sql语句:下数据库表中的该服务记录CFG_OSDI_SRV_BASE、CFG_OSDI_SRV_PARAMETERSCFG_OSDI_SRV_EVENT、CFG_OSDI_RULE3.2.4Service“ServicePackage”服务包3.2.4Service“ServicePackage”服务包,是服务组合成一个业务的集合。点击“ServicePackage”dtil点击“new”按钮。打开服务包配置页面QRY(查询关联的数据,包括以下表中的数据:CFG_OSDI_SRV_PACKAGE、CFG_OSDI_SRV_BASE_PACKAGE_REL3.3服务查询操作说包的名称,服务包的描述等信息。点击“detail”按钮,页面和服务包detail的页面一样3.4页面配置说包的名称,服务包的描述等信息。点击“detail”按钮,页面和服务包detail的页面一样3.4页面配置说js,css,htmlWEBhttp://localhost:port/osdi/page页面配置记录。可以通过/page/PageCoderequest.xml中“<ischecksubpage>Y</ischecksubpage>”项配置为“Y”时,除配置入口页面还需要配置入入上面入口页面编码对应的绝对地址,页面编码对应的绝对地址可能有多个。如上面的test.html页面,在不同终端的情况下绝对地址有:/pc/test/test.html、/pad/test/test.html。输入3.5请求方式说PageCodecfg_pagepagecode值。用/page/的路有参数:PageCodecfg_pagepagecode值。用/page/的路有参数:-PostURLPostData:JsonArrayPostData:JsonArray[{}]同服务提交的参数结构JSON,回调函数/upload?ftpcode=ftppathcode&busiid=下载3.6使用约定说PageFrame的数据库访问是基于appframe的。所以数据源配置和appframe配置相同。后端的服务约定一个服务为后端Java该方法的入参、出参必须是JAVA的简单类型或者是POJO如果使用List/Map类型,必须指定泛型,如List<String>List<POJO>,ListListMapList<Map>,Map<String,List>如果使用List/Map类型,必须指定泛型,如List<String>List<POJO>,ListListMapList<Map>,Map<String,List>询、RUL(规则、SMT(提交、RPT(报表20khrw、ljshf等中文简拼,终端类型为PAD、PC、PHONE打开一个入口页面后,后续页面关闭时需要调用service?action=@PageClose&pagecode=来关闭后台的信息UTF-8编码的文件。<metahttp-equiv="Content-Type"content="text/html;3.7内部服务使用说PageFrameSession或内存中存放了一些信息,目前有页面流水号、服务规则校验参建立时退出时页面流水入口页面入口页面Session失服务规则校验参数标记服务参数往复规规则在参数不变的情第一次该服务规则1Session失操作员信操作员登1.操作员退3.7.1页面关闭服务3.7.1页面关闭服务Session中。页面流水号作用是标记该入口页面的子页面请求或页面中提交的数据请异常。PageFrame目前配置一个WEB实例中最多可以存放100000个页面流水号,如果超过ajax用PostURLservice?action=@PageClose&pageseq=页面流水号jQuery.ajax({type:'POST',async:true,contentType:"application/json;charset=utf-8"}).success(function(data){息陆2Session失 用户手机用户退出Session失用户认证认证清除Session失3.7.2操作员退出服除Session3.7.2操作员退出服除Session中的操作员信息。调用方式如下:3.7.3用户退出服务PageFrameSession中的3.7.4认证清除服务Session3.8页面代理使用说3.8.1配置说明request.xml<proxy<proxyhost<proxyhost<proxyhost<proxyhost<proxyhost<proxyhost<proxyhost<proxyhost<proxyhost<proxyhost<proxyhost<proxyhost“proxyhosts“proxyhostsWEB应用的访问地址,code为地WEB应用。所以代理的开头路径不能重复,如果重复只会取“httpproxy”配置中靠前的一“encodingWEB3.8.2主机配置如果“proxyhostWEBhosts3.9安全说PageFrame中的权限分为页面权限和服务权限请求类页面请数据请不存在非入口入口页请求不是入口不存在未配置归属该判断是请求类页面请数据请不存在非入口入口页请求不是入口不存在未配置归属该判断是未授权归属该置不归属3.9.1页面安全需要操作员登陆才能访问的校验URL都会要求操作员先登陆。Session中有操作员的信息才URL中带有这些关键字的请求将忽略“需要操作操作员有该入口页面访问的权限AIConfig.xml“<ConfigItemname="IS_URL_CHECK_FLAG"remarks="是否做URL所有Http请求返回调返回请返回请返回非返回非调用后创建入返回无在返回404不存在请求路当“Y”时,入口页面的请求路径“page/PageCode”需要配置到权限模块sec_function的viewname只能先访问入口页面,才能访问子页面的校验request.xml中的“<ischecksubpage>Y</ischecksubpage>”为“Y”时,点击入口页面中3.9.2服务安全需要操作员登陆才能访问的校验URL都会要求操作员先登陆。Session中有操作员的信息才能访问。也有些特殊情况在操作员未登陆的情况下可以访问系统,如登陆的服务等等。在AIConfig.xml的“ConfigKindname="UNCHECK_SV"”项中,可以配置不需要操作员登陆只能先访问入口页面,才能访问子页面的校验 本地化实现说明3.10.1对接本地权限4、页面组件使用说明[王大元4.1jssearch组件使用说明 本地化实现说明3.10.1对接本地权限4、页面组件使用说明[王大元4.1jssearch组件使用说明页面上有个输入框,要提供搜索功能。如:<inputtype="text"数组。JSONzhArray=[{name:"酬金配置与管理",文件名多音)UNCODEjs文件,并提供搜索方法。根据给定的搜索中文词库(JSON格式或字符串js{name:"网厅酬金限价配置",{name:"现金充值",{name:"充值记录查

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论