借助FR将微信企业号与自身WEB应用集成

楼主
我是社区第24314位番薯,欢迎点我头像关注我哦~
1.       前言:跟自己上一篇《FineReport 集成笔录》一样,因为FR提供的微信插件是针对FR自身系统的,所以试着跟公司WEB应用做企业集成,并记录下来以便自己后面忘了查看及给予部分朋友小小帮助(求不喷),有这方面兴趣的欢迎大家一起交流,QQ:254708913
2.       使用版本 :finereport8.0
3.       环境:Tomcat7.0/jdk 1.7
4.       工具:FR,Myeclipse10
5.       ps:  a. 前面FR跟WEB应用集成这里就不再写,如初次接触则请看我上一篇《FineReport 集成笔录》
                b. 这里建立的是企业号的信息型回调模式应用
6.       步骤:
  1〉打开finereport设计器,添加插件:"移动端Html5方式预览报表"及"报表自适应"
      
   2随便做一张报表,以H5方式预览(URL添加参数op=h5_page)看是否正常
     
3>  FR lib(ej:D:\FineReport_8.0\WebReport\WEB-INF\lib)目录下fr-core-8.0.jarfr-platform-8.0.jarfr-report-8.0.jarfr-third-8.0.jarplugin-com.fr.wei.plugin.h5report-0.jarplugin-com.fr.plugin.reportfit-0.jar6个文件同时一起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.reportfitplugin-com.fr.wei.plugin.h5report两个文件夹copyWeb应用WEB-INF下(ej:D:\Workspaces\MyEclipse Professional 2014\en\WebRoot\WEB-INF
             

5〉 web应用中打开报表,确认H5浏览方式运行正常
   
------------------------------------------------至此微信需要的报表展示已完成-----------------------------------------------------
     ------------------------------------------------------- 微信与企业号,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)
                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)
                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
      并将其导入到Web应用里
           ----------------------------第一步,回调通讯--------------------------------------------
1>    申请企业号(步骤略…)
        2>     进入企业号,点击应用中心,点击创建应用:

       3>    选择消息型应用,并设置应用名字,功能,权限,保存。
         4>    点击新建的应用,点击可信域名,将你的域名添加上去(没有可以直接用花生壳或金万维申请一个就可以了)
        5>   在最下面的模式选择里默认的是普通模式,这里点击回调模式
        6>  点击右上角的已关闭旁边按钮,启用回调模式,然后在回调URL及密钥里填写相应的信息(URL: http://XXXX/en/WeiXinQYServer?op=weixin&eid=4;Token/aes可以直接点接随机获取,URL添加op=weixin只是用于后台接收请求时知道是微信,eid表示web对应企业ID,可以不加。) 填写完了之后先不管,在web应用里添加相应的接收servlet后再回来保存
       7> 修改WEB应用的web.xml,添加接收信息的servlet:
          <servlet>   
            <servlet-name>WeiXinQYServer</servlet-name>   
            <servlet-class>en.fr.weixin.web.WeiXinQYServlet</servlet-class>   
            <load-on-startup>0</load-on-startup>   
        </servlet>   
        <servlet-mapping>   
            <servlet-name>WeiXinQYServer</servlet-name>   
            <url-pattern>/WeiXinQYServer</url-pattern>   
        </servlet-mapping>
      8>   新增servlet;(这里是根据自己需求写的,大家可以参考,)
      9>   ServletCommon(拿来将service驻入servlet)
      10> WeiXinService()  
      11> 这里的corpid,token,aeskey就是在企业号那里设置的,我这里因为是系统里有多公司才加入这个
      12>  回到刚才的企业号回调模式里,将刚才填写的信息进行保存
      13>   点击下面的自定义菜单里的设置
      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)
    15>  回到servlet,处理报表请求:
             weiXinService.getParamForQYReport:1.处理AccessToken
                                     2.获取请求人的userId以此获取系统关联用户
                                     3.判断用户是否有相应权限查看报表
                                     4.返回业务参数

                           
     16>   最后效果:        




分享扩散:
参与人数 +1 F豆 +1 理由
波斯猫 + 1 赞一个!

查看全部评分

沙发
发表于 2016-3-3 19:38:22
牛逼啊 。。。。。。
板凳
发表于 2016-3-3 20:13:31
{:8_209:}{:8_209:}
地板
发表于 2016-3-4 09:15:15
{:6_169:}
5楼
发表于 2016-3-18 22:38:46
大牛,需要时参考一下
6楼
发表于 2016-3-20 13:40:46
牛逼啊 。。。。。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

5回帖数 2关注人数 11134浏览人数
最后回复于:2016-3-20 13:40

返回顶部 返回列表