请上传宽度大于 1200px,高度大于 164px 的封面图片
    调整图片尺寸与位置
    滚轮可以放大缩小图片尺寸,按住图片拖动可调整位置,多余的会自动被裁剪掉
取消
汛联(uid:24314)
职业资格认证:尚未取得认证
借助FR将微信企业号与自身WEB应用集成
1. 前言:跟自己上一篇《FineReport 集成笔录》一样,因为FR提供的微信插件是针对FR自身系统的,所以试着跟公司WEB应用做企业集成,并记录下来以便自己后面忘了查看及给予部分朋友小小帮助(求不喷{:4_103:}),有这方面兴趣的欢迎大家一起交流,QQ:254708913{:4_115:}2. 使用版本 :finereport8.03. 环境:Tomcat7.0/jdk 1.74. 工具:FR,Myeclipse105. ps: a. 前面FR跟WEB应用集成这里就不再写,如初次接触则请看我上一篇《FineReport 集成笔录》 b. 这里建立的是企业号的信息型回调模式应用6. 步骤: 1〉打开finereport设计器,添加插件:"移动端Html5方式预览报表"及"报表自适应" 3428034281 2〉 随便做一张报表,以H5方式预览(即URL添加参数op=h5_page)看是否正常 34282 3> 在FR lib(ej:D:\FineReport_8.0\WebReport\WEB-INF\lib)目录下fr-core-8.0.jar;fr-platform-8.0.jar;fr-report-8.0.jar;fr-third-8.0.jar;plugin-com.fr.wei.plugin.h5report-0.jar;plugin-com.fr.plugin.reportfit-0.jar这6个文件同时一起copy到自己的web应用类路径下(一定要同时一起copy),同时将刚才的做的一个报表放到web应用目录下(ej:D:\Workspaces\MyEclipse Professional 2014\en\WebRoot\WEB-INF\reportlets 再说下这个笔录的前提是FR与跟WEB应用已集成,所以WEB-INF跟定还有其他几个文件,哪几个文件可以看我的上一篇笔录,此笔录只是关于集成微信企业号的); 4> 在FRplugins (D:\FineReport_8.0\WebReport\WEB-INF\plugins) 目录下将plugin-com.fr.plugin.reportfit;plugin-com.fr.wei.plugin.h5report两个文件夹copy到Web应用WEB-INF下(ej:D:\Workspaces\MyEclipse Professional 2014\en\WebRoot\WEB-INF) 34283 5〉 在web应用中打开报表,确认H5浏览方式运行正常 34284 ------------------------------------------------至此微信需要的报表展示已完成----------------------------------------------------- ------------------------------------------------------- 微信与企业号,Web应用集成开始------------------------------------------------------------------------ 7> 针对org.apache.commons.codec.binary.Base64,需要导入jar包commons-codec-1.9(或comm ons-codec-1.8等其他版本),官方下载地址:http://commons.apache.org/proper/commons-codec/download_codec.cgi并将其导入到web应用的lib目录下面(或者直接拷贝FR lib目录下的commons-codec-1.6.jar) 34285 8〉 因为某些国家的进口管制限制,Java发布的运行环境包中的加解密有一定的限制。比如默认不允许256位密钥的AES加解密,而微信回调验证就需要用到AES加解密,因此:需要根据jdk版本,替换%JDK_HOME%\jre\lib\security目录下的local_policy.jar和US_export_policy.jar这两个JCE无限制权限策略jar包。如果不做这步操作,后面微信验证报表服务器时就会报错,类似如下:java.security.InvalidKeyException:illegalKey Size(直接百度jdk6 jce) 34286 34287 9〉 到微信企业号开发者文档里下载加解密库:地址http://qydev.weixin.qq.com/wiki/index.php?title=%E5%8A%A0%E8%A7%A3%E5%AF%86%E5%BA%93%E4%B8%8B%E8%BD%BD%E4%B8%8E%E8%BF%94%E5%9B%9E%E7%A0%81 34288并将其导入到Web应用里34289 ----------------------------第一步,回调通讯-------------------------------------------- 1> 申请企业号(步骤略…) 2> 进入企业号,点击应用中心,点击创建应用:34290 3> 选择消息型应用,并设置应用名字,功能,权限,保存。34291 4> 点击新建的应用,点击可信域名,将你的域名添加上去(没有可以直接用花生壳或金万维申请一个就可以了)34292 5> 在最下面的模式选择里默认的是普通模式,这里点击回调模式34293 6> 点击右上角的已关闭旁边按钮,启用回调模式,然后在回调URL及密钥里填写相应的信息(URL: http://XXXX/en/WeiXinQYServer?op=weixin&eid=4;Token/aes可以直接点接随机获取,URL添加op=weixin只是用于后台接收请求时知道是微信,eid表示web对应企业ID,可以不加。) 填写完了之后先不管,在web应用里添加相应的接收servlet后再回来保存 34294 7> 修改WEB应用的web.xml,添加接收信息的servlet: WeiXinQYServer en.fr.weixin.web.WeiXinQYServlet 0 WeiXinQYServer /WeiXinQYServer 8> 新增servlet;(这里是根据自己需求写的,大家可以参考,)34295 9> ServletCommon(拿来将service驻入servlet)34296 10> WeiXinService() 34297 11> 这里的corpid,token,aeskey就是在企业号那里设置的,我这里因为是系统里有多公司才加入这个34298 12> 回到刚才的企业号回调模式里,将刚才填写的信息进行保存34299 13> 点击下面的自定义菜单里的设置34300 14> 点击添加自定义菜单,事件类似为跳转到网页,并输入自己的网页地址(比如你要的页面跳转的网址是:http://XXXX/en/WeiXinQYServer?reportlet=wx/20402_wx_tj_cw_lr.cpt,则先将其URL编码并组装链接https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx937efba2f0b7d127&redirect_uri=你要跳转的URL(URL编码后)&response_type=code&scope=snsapi_base&state=STATE#wechat_redirect)34301 15> 回到servlet,处理报表请求:34302 weiXinService.getParamForQYReport:1.处理AccessToken 2.获取请求人的userId以此获取系统关联用户 3.判断用户是否有相应权限查看报表 4.返回业务参数 34303 16> 最后效果:34304 34305
finereport集成异常
Web系统环境:Spring4 hibernate5 1.将fr-report-8.0.jar fr-core-8.0.jar fr-third-8.0.jar 导入到现有系统时启动Tomcat报错 27593 2. 测试将finereport lib下所有包导入 同样报错同样测试 3.测试将fr-report-8.0.jar fr-core-8.0.jar fr-third-8.0.jar三个包更改名字,使其更改加载顺序(最先/最后加载) 同样报错 4. 将hibernate5换成hibernate4,正常,无错误。 故finereport的类包与hibernate5之间应该存兼容性问题
FineReport 集成
FineReport 集成笔录(一) 之 初体验 目的:将finereport报表集成到现有web系统 使用版本 :finereport8.0 环境:Tomcat7.0/jdk1.7 本次考虑因素:1. 查询条件使用web系统本身的查询页面 2. 如何控制不登陆系统不能访问报表(Web系统本身实现) 3. 如何控制查询,打印权限 1. 下载finereport8.0并安装 2. 用finereport8设计器设计一个新报表 a. 打开设计器,输入激活码(点击获取信息码在官网输入相应信息获取激活码) 27258 b. 新建一个自己系统相关的数据源 27259 c. 文件-- 新建工作簿,新建数据集 27261 d. 添加展示内容,并保存(WorkBook1.cpt) 27263 3. 将finereport集成至web系统 a. 在web.xml里添加添加代码: ReportServer com.fr.web.ReportServlet 0 ReportServer /ReportServer b. 复制lib文件(最开始只添加基础的文件,后面遇到缺少什么则加什么): 将fr-core-8.0.jarfr-report-8.0.jar fr-third-8.0.jar三个包加入到Web系统里,如果使用数据决策系统则加入fr-platform-8.0.jar,在web系统web-inf文件夹下建 resources文件夹,新建datasource.xml,添加相应数据源,如果不知道如何添加,则可以找到finereport设计器的resources目录(D:\FineReport_8.0\WebReport\ WEB-INF \resources),将里面的datasource.xml复制到Web的resources里,然后删除多余的数据源,只保留自己系统的数据源: c. 在web系统web-inf文件夹下建reportlets文件夹,将刚才做的一个测试cpt复制到里面 4. Web系统里添加相应功能实现 a. 建立查询条件页面 27267 b. 查询页面提交后跳转到showReport.jsp页面 showReport.jsp <% String path =request.getContextPath(); String basePath =request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> "> My JSP 'showReport.jsp' starting page /ReportServer?reportlet=WorkBook1.cpt"> 5. 至此初步的集成已完成,下面是查询结果: 27268 {:5_138:},留给自己备忘及有需要的朋友,记录执续进行
个人成就
内容被浏览42,640
加入社区11年324天
返回顶部