来自 科技中心 2019-05-02 06:56 的文章
当前位置: 美洲杯冠军竞猜 > 科技中心 > 正文

预告:入门级的《OurwayBI报表集成到其它系统》

原标题:预告:入门级的《OurwayBI报表集成到其它系统》

如今,随着信息技术的不断发展,很多公司采用微信企业号来进行企业与员工之间的联系。其实微信企业号中右很多独立的应用。

企业用户:我能从微信/钉钉之类的直接跳转到已做好的报表页面吗?

那么如何可以将报表系统集成到微信中呢?这里分享一下在微信企业号中创建独立的报表应用,并且将微信账号单点登录到帆软报表软件FineReport的权限对接。

OurwayBI:可以的,你可以使用集成功能实现从微信、钉钉一键跳转到报表页面的效果。

报表服务器环境准备

企业用户:这个集成功能怎么实现?

1、报表服务器环境要求

以上是前不久一次企业用户咨询内容,也是经过了这次的咨询,我们才发现原来大家对集成功能几乎一无所知。为了让大家都学会用这个十分好用的集成功能,我们委托人美声甜,已多时没出现的林老师准备了这次课程。

报表服务器必须是能够访问外网,并且如果是http协议则访问端口不限,如果是https协议访问端口必须包含443;同时服务器的版本必须是8.0及以上的版本;而且jdk也必须是1.6及以上的版本。

《OurwayBI报表集成到其它系统》

2、微信管理插件安装

美洲杯冠军竞猜 1

为了简化微信集成,FineReport开发了微信管理插件,将微信的相关配置从后台转为前台可视化界面操作,实现了微信集成基本信息配置、内置回调URL验证、同步微信通讯录并与报表用户关联实现单点登录以及定时发送消息至微信成员。FineReport还在开发常见的管理界面。

此次目标报表

  •  修改web.xml文件

直播时间:2018.8.30 周四下午2:00

打开服务器报表工程WEB-INF下的web.xml,在其中新增WeiXinServer,如下:

美洲杯冠军竞猜,直播地址:https://ke.qq.com/course/154050#tuin=47eaa140

<servlet>
    <servlet-name>WeiXinServer</servlet-name>
    <servlet-class>com.fr.wei.plugin.weixin.web.WeiXinServlet</servlet-class>
    <load-on-startup>0</load-on-startup>
  </servlet>

  <servlet-mapping>
    <servlet-name>WeiXinServer</servlet-name>
    <url-pattern>/WeiXinServer</url-pattern>
  </servlet-mapping>

我们准备了哪些干货?

修改后的web.xml如

1.通过报表单点登录实现集成功能

<?xml version="1.0" encoding="UTF-8"?>
<web-app 
   xmlns="http://java.sun.com/xml/ns/j2ee" 
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" 
   version="2.4"> 

  <display-name>Template WebApp</display-name>

    <mime-mapping>
  <extension>msi</extension>
  <mime-type>application/x-msi</mime-type>
  </mime-mapping>

  <servlet>
    <servlet-name>ReportServer</servlet-name>
    <servlet-class>com.fr.web.ReportServlet</servlet-class>
    <load-on-startup>0</load-on-startup>
  </servlet>

  <servlet>
    <servlet-name>WeiXinServer</servlet-name>
    <servlet-class>com.fr.wei.plugin.weixin.web.WeiXinServlet</servlet-class>
    <load-on-startup>0</load-on-startup>
  </servlet>

  <servlet-mapping>
    <servlet-name>WeiXinServer</servlet-name>
    <url-pattern>/WeiXinServer</url-pattern>
  </servlet-mapping>

  <servlet-mapping>
    <servlet-name>ReportServer</servlet-name>
    <url-pattern>/ReportServer</url-pattern>
  </servlet-mapping>

</web-app>

2.学习Token方式实现单点登录

  • 安装后的效果

3.学习username userpsw实现单点登录

安装微信管理插件后,打开报表管理平台,管理系统下会增加“微信管理”,微信相关的配置管理都将在这个节点中去配置:

我们的目标效果是什么?

美洲杯冠军竞猜 2

1.熟练运用单点登录功能

同时,设置定时任务的最后一步输出设置中,会增加“推送微信消息”:

2.学习图表常用属性、设计

美洲杯冠军竞猜 3

实操有疑惑该找谁?

3、手机浏览器报表插件

操作讨论大本营:Power-BI 技术支持群2:490470313( 验证暗号:OurwayBI)

微信集成的企业应用中打开的只能是HTML5页面,不能使用FineReport新版移动APP的原生解析功能。FineReport开发了手机浏览器HTML5浏览方式,实现手机浏览器中报表的自适应、参数界面分离等效果。

这里汇聚了OurwayBI大大小小的技术人员,以及来自五湖四海的学员。工作日时间我们都趴在群里,随时准备为您解答OurwayBI操作疑惑。

4、需要commons-codec-1.9.jar包

哪些小伙伴最适合听这节课?

报表服务器请使用jdk1.6或以上的版本。需要将commons-codec-1.9.jar包拷贝到报表服务器WEB-INFlib下面,如果已经存在其他版本,则可以不需要再导入;

1.想从微信、钉钉、金蝶云之家、移动OA等APP一键跳转到报表页面的企业

5、更换JCE无限制权限策略文件

2.想快速制作高质量、高颜值数据分析报表的数据人

需要根据jdk版本,替换%JDK_HOME%jrelibsecurity目录下的local_policy.jar和US_export_policy.jar这两个jar包,此为JCE无限制权限策略文件,如果不做这步操作,会有Java.security.InvalidKeyException:illegal Key Size异常,从而不能正确进行微信AES解密。

3.想进一步提高报表水平的数据人

下载对应版本的jce,替换到%WebSphere_HOME%AppServerjavajrelibsecurity

4.想入门数据可视化分析的数据人

消息型应用

5.OurwayBI新手、正在用OurwayBI的数据人

1、创建报表微信企业应用

OurwayBI的大功能板块基本上讲完了,接下来的日子我们将一个个查漏补缺,给大家准备一系列小技巧分享课程,欢迎大家奔走相告,准时收看直播。返回搜狐,查看更多

管理员登录微信企业号,根据提示新建应用,创建后消息型应用,进入应用,可以看到应用的基本信息,其中需要关注的信息有

责任编辑:

美洲杯冠军竞猜 4

  • 应用ID:微信号中可能有很多个应用,后台开发的时候需要根据应用ID来决定是在哪个应用中进行响应
  • 可见范围:微信权限控制
  • 应用模式:应用模式主要分成两种: 

1、普通模式:这个模式下不能调用微信的接口,只能设置固定的菜单及恢复的消息;如果需要的微信应用比较简单,菜单都是固定的,可以用这种模式,但是报表就无法绑定用户了,查看报表的时候就需要先登录(除非报表不做权限控制);

2、回调模式:开发者可以通过企业号提供的接口,获取微信用户信息,实现自动回复、自定义菜单等个性化功能。

美洲杯冠军竞猜 5

2、回调模式设置

原理说明:我们在应用中需要调用微信开放的接口做开发,所以选择“回调模式”,这样微信服务器会在客户手机和开发者服务器间架起一个桥梁,通过消息的传递和响应,实现与用户的交互操作:

美洲杯冠军竞猜 6

上面这个流程走通,需要微信服务器和开发者服务器先建立通信,这样才能构建一个完整的链路。进入回调模式,开启模式后,可以看到,下面的功能都是不可用状态,需要设置好回调URL及密码后才能用的。

美洲杯冠军竞猜 7

我们点开修改,会看到有3个参数,都是我们需要关注的:

美洲杯冠军竞猜 8

  • URL:开发服务器接收微信收企业号服务器推送请求的地址,支持http或https协议,这个URL就相当于开发服务器的后台引擎,微信服务器推送的请求都是到这个地址,另外注意,这个地址必须是外网可以访问的,且如果是http协议,端口支持80等端口,https协议端口必需包含443;
  • Token:可由企业任意填写也可以随机获取,用于生成签名;
  • EncodingAESKey:用于消息体的加密,是AES密钥的Base64编码,点击随机获取就可以获得。

验证时,企业号会向验证url发送一个get请求,例如:

xxurl?msg_signature=5c45ff5e21c57e6ad56bac8758b79b1d9ac89fd3×tamp=1409659589&nonce=263014780&echostr=P9nAzCzyDtyTWESHep1vC5X9xho/qYX3Zpb4yKa9SKld1DsH3Iyt3tP3zNdtp+4RPcs8TgAE7OaBO+FZXvnaqQ==

消息中会有四个参数,并且会以AES方式加密:

  • msg_signature:消息体签名
  • timestamp:时间戳
  • nonce:随机数字串
  • echostr:随机加密字符串

开发服务器需要解析出Get请求的参数,对参数进行解密,然后使用之前的Token、EncodingAESKey这两个值进行验证,成功后,微信服务器与开发服务器间的通信就建立起来了。
具体步骤如下:

进入微信管理后台,进入应用>回调模式,修改回调URL及秘钥,随机生成Token和EncodingAESKey,先不要点保存;

登陆FineReport管理平台,点击管理系统>微信管理节点:

美洲杯冠军竞猜 9

点击后,我们将微信企业号的基本信息配置好,如下左图为FineReport中的配置界面,右图为微信中的回调URL配置界面:

美洲杯冠军竞猜 10

美洲杯冠军竞猜 11

将之前在微信管理平台中生成Token及EncodingAESKey这两个值拷贝到左侧FineReport的基本信息中;

将企业ID及管理组秘钥即corpid及secret填写到FineReport基本信息中

FineReport中微信管理节本信息填写完毕后保存;

接收数据URL固定,如:http://review.finedevelop.com:8081/ReportServer?op=weixin,将这个URL写入到右边微信企业号管理平台的回调URL处;

点击右侧微信的保存了,如果验证成功,则效果如下:

美洲杯冠军竞猜 12

3、微信用户与报表用户关联

15年7月份FineReport与微信集成时,需要通过OAuth2接口获取微信用户,并且在后台根据微信用户匹配对应的报表用户及密码,实现报表的单点登录。

15年8月份对此进行了改进,在FineReport提供的微信管理中,增加微信成员的管理,可以通过界面化绑定微信成员与报表用户,通过后台登录报表。

不需要实现OAuth2接口获取微信用户、不需要后台匹配报表用户及密码、也不需要在后台实现单点登陆,真正实现无缝集成,下面就来看看是如何用的。

进入FineReport报表管理平台fs,点击“微信管理”节点,除了基本信息外,增加了“微信成员管理”,点击效果如下:

美洲杯冠军竞猜 13

表格中会自动读取微信企业号通讯录中的所有成员,并且在每次打开该页面时刷新为最新的;

默认“微信成员与报表用户相同”,因为大部分情况下,微信成员名和报表用户名是统一的;

如果您的微信成员名与报表用户名是不一样的,此时,可以取消勾选“微信成员与报表用户相同”设置,此时报表用户名,可以将微信成员与报表用户进行关联,如下图:

美洲杯冠军竞猜 14

4、挂报表

在微信企业号管理平台中,进入应用>回调模式,设置自定义菜单:

美洲杯冠军竞猜 15

添加事件类型选择跳转到网页,url链接规则如下:

https://open.weixin.qq.com/connect/oauth2/authorize?appid=xxxxxxxxx&redirect_uri=xxxxx&response_type=code&scope=snsapi_base&state=STATE#wechat_redirect 

链接中需要包含以下参数:

本文由美洲杯冠军竞猜发布于科技中心,转载请注明出处:预告:入门级的《OurwayBI报表集成到其它系统》

关键词: