本章节主要讲述如何通过页面方式访问乐创者智能分析报告(lczWord)的报告方案。
1 集成说明
报告方案需要以独立页面方式呈现,根据业务情景不同,可分为以下两种情景:
1.1 通过浏览器直接访问
包括以下几种方式:
1)、在新开页面中打开
2)、从当前页面跳转到报告方案页面
以上方式直接通过URL地址即可访问报告方案页面,PC支持,移动端暂不支持。
1.2 将报告方案页面作为业务系统页面的一部分
当把报告方案页面作为子页面集成到业务系统的某个页面中(常见的业务系统左边是菜单,点击菜单项时,右边显示报告方案内容)时,需要通过iframe标签方式进行加载。
<iframe src="报告方案访问URL" style="width:100%;height:600px;border:0px;" border="0" frameborder="0" ></iframe>
2 访问规范
报告方案页面URL规范:
Request Method:GET
Request URL:{http}://{ip}:{port}/{lczServer}/hrServlet?type=wordReport&opt=editHtws&请求参数
组成说明
{http} 网络协议名称,支持http或https两种协议
{ip} 乐创者服务部署所在的 Internet 主机名,支持ip地址或域名
{port} 乐创者服务部署所在Web应用服务器的访问端口。如果是80或443端口,可缺省
{lczServer} 乐创者服务应用名,乐创者服务部署时的应用上下文根目录(Web Context-root),可根据业务需要调整为其他名称。当乐创者服务代码发布在“ROOT”目录下时,内容为空即可。
3 请求参数
支持明文
和密文
两种传参方式。
注意:
参数值包含中文或特殊字符时需URL编码。
javascript代码示例:url += ‘&variants=’ + encodeURIComponent(‘年份=2019;月份=1’)
java代码示例:url += “&variants=” + java.net.URLEncoder.encode(“年份=2019;月份=1”, “UTF-8”)
3.1 通过明文方式访问
必选参数
参数名 |
类型 |
默认值 |
说明 |
---|---|---|---|
targetVolume | string | 报告方案模板文件所属应用的内部名称。 | |
fileName | string | 报告方案模板文件的内部名称。 | |
authId | string | 可使用登录乐创者服务成功后返回的authId或匿名authId。 非匿名方式访问:&authId=xxxxxxxxxxxx 如果系统配置中开启了‘允许匿名登录’,则可通过匿名方式直接查看报告方案。 匿名方式访问:&authId=anonymous_admin |
可选参数
参数名 |
类型 |
默认值 |
说明 |
---|---|---|---|
variants | string | 拼接格式:&variants=参数1=参数值1;@参数1=参数显示值1;参数2={year()};…参数n=参数值n; 注意: 1、参数值使用”{“、”}”括起来的代表支持脚本解析,如:年份={year()}。 2、通过variants传入的同名参数将默认不在参数页面显示,如需要显示则 需要通过displayVarNames传入要显示的参数名。 |
|
fileAlias | string | 缺省使用模板文件的显示名称作为标题。 |
显示在浏览器或窗体上的标题内容,允许通过传参进行个性化显示。 |
displayVarNames | string | 在参数区域显示的参数名称。 如果通过variants传递了参数或变量的默认值,某些参数需求在参数页面中显示出来的,则通过本参数指定。 值格式:参数1,参数2,…参数n |
|
showParamPanel | boolean | true | 是否显示参数面板 |
3.2 通过密文方式访问(推荐使用)
通过密文方式情况,安全性比较高,可以有效的防止用户恶意访问或随意篡改传参值。
参数说明
参数名 |
类型 |
默认值 |
说明 |
---|---|---|---|
v | string | 加密后的请求参数串。 注意:v的参数值,需要通过privilege_type参数传入解密处理的认证类,缺省为:default。 |
|
privilege_type | string | 缺省使用乐创者门户中指定的认证类型 |
【可选】传入第三方认证的认证类型。 |
validateVariants | string | 【可选】传入第三方认证相关参数。 可传递多个参数,格式如下: &validateVariants=认证参数1=参数值;认证参数2={year()};…认证参数n=参数值 |
4 整合示例
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
<title>二次示例</title>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
<script type="text/javascript" src="js/jquery.min.js" ></script>
<script type="text/javascript" src="所属目录路径/ER_toolkit.js" ></script>
</head>
<body style="-webkit-touch-callout:none;width:100%;height:100%;padding:0;overflow:hidden;margin:0;border:0 none;" >
<iframe id="myRpt" style="width:1024px;height:650px;" ></iframe>
<script type="text/javascript">
ER_load_jquery_js(); //注意:标识整合页面已经加载过jQuery了
var url='http://127.0.0.1:8081/lczServer/hrServlet?type=wordReport&opt=editHtws&fileName=xxxxxxx&targetVolume=xxxxxxx&authId=xxxxx';
var pivotFrame = $('#myPivot');
if (pivotFrame && pivotFrame.length > 0) {
pivotFrame.attr('src', url);
pivotFrame.bind('load', function() {
if (this.contentWindow.ER) {
var pivotFn = this.contentWindow.ER.fn;
var pivotEvents = this.contentWindow.ER.events;
if (pivotEvents && pivotFn) {
pivotEvents.loadReportAfter(function() {
//绑定报告方案加载后事件
});
rptEvents.loadParamsAfter(function() {
//绑定报告方案参数加载后事件
});
}
}
});
}
</script>
</body>
</html>
6 常见问题
问题1、参数值已经URL编码了,但是中文仍然显示乱码
答:检查一下Web应用服务器的配置是否符合要求。
以Tomcat为例,需检查Tomcat安装目录下的server.xml中,对应‘Connector’配置中是否配置了‘URIEncoding’、‘useBodyEncodingForURI’选项,建议配置如下:
1)、如果2个属性都没有配置,建议配置‘useBodyEncodingForURI=”true”即可;
2)、如果配置了‘useBodyEncodingForURI=”false”,则需要配置URIEncoding,建议配置为‘UTF-8’;
3)、如果配置了URIEncoding,但编码方式不是‘UTF-8’的,需要调整lczServer/WEB-INF/classes/erservice.xml配置文件中Charset值(默认为:UTF-8),应改为与URIEncoding值一致。
最后编辑:柳杨 更新时间:2025-04-22 15:31
