历史版本99 :微信集成 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

视频教程参见:FineMobile—微信集成

1.1 版本

报表服务器版本

JAR 包版本

微信管理插件版本

功能变动
10.02019-05-20V10.2.39微信集成
10.02020-04-26V10.4.69支持集群
10.02020-07-08V10.4.80支持推送微信群消息
10.02020-08-03V10.4.97支持是否解析参数值

1.2 功能简介

  • 安装微信管理插件,可实现微信集成

  • 在定时调度的输出设置中,可以配置并推送微信消息

  • 支持集成多个应用

1.3 注意事项

注意事项 1 

报表服务器一定是可以被外网访问的,并且一定是域名地址,不能用 IP 地址。域名地址举例http://xxx.xxx.com:xxx/webroot/decision。如果是http://IP:xxx/webroot/decision,是不可以做微信集成的。

注意事项 2 

报表服务器需要能访问微信服务器访问外网,若报表服务器在内网,无法访问到微信服务器的话,支持正向代理配置,代理配置参考:微信钉钉集成环境准备第 4 节

注意事项 3 

微信集成下若使用「扫码控件」、「文件控件」, 则要求单点登录、且域名必须经过校验。校验方法请参考:「微信集成」文件控件&文本控件扫码无法使用

2. 环境准备编辑

2.1 安装插件

点击下载插件:微信管理HTML5 移动端展现插件

设计器插件安装方法请参见:设计器插件管理

服务器安装插件方法请参见:服务器插件管理

注:微信/钉钉集成过程中,必须确保各版本相对应,详情参见:微信、钉钉、H5、服务器、JAR 之间的依赖关系

2.2 配置网络环境

在微信集成之前,必须先完成网络环境配置,参考文档:微信钉钉集成环境准备

3. 新建应用编辑

3.1 微信后台创建应用

1)管理员登录企业微信后,在「应用管理」Tab 下点击创建应用,如下图所示:

7.png

2)上传应用 logo,填写应用名称应用介绍选填,设置可见范围,设置完成后,点击创建应用,如下图所示:

8.png

若「可见范围」不是部门而是单独的微信用户,那么在平台「微信管理」的成员管理 Tab下会看不到用户信息,因为右边的组织机构是空的,而用户是属于部门的,所以也是空的。因为企业微信没有提供相关的接口。建议是单独的微信用户通过标签的方式添加。

3.2 获取微信应用参数

微信应用创建成功之后,需要关注两个参数:

  参数 含义 
  CorpID  企业 ID
  Secret   授权码

3.2.1 CorpID

点击我的企业,可查看企业ID,如下图所示:

9.png

注:企业 logo 和简称可以修改。

3.2.2 Secret 

1)点击应用管理,点击已创建的应用,如下图所示:

7.png

2)可查看 Secret ,如下图所示:

10.png

4. 平台微信管理编辑

以管理员身份进入数据决策系统,点击管理系统>微信管理,如下图所示:

33.png

4.1 应用管理

4.1.1 报表服务器地址

必须设置报表服务器地址并保存,如果不设置,推送的时候可能会有问题,报表服务器地址示例:

http://域名:端口号/webroot/decision

注:请使用二级或二级以上域名,且需通过 ICP 备案。

输入「报表服务器地址」,如下图所示:

13.png

4.1.2 新建微信应用

点击新建微信应用,输入相应的企业应用名称CorpIDSecret,点击确定,如下图所示:

14.png注:请填写合乎规范的信息,企业应用名称、CorpID、Secret 不可为空,且应用名称不可与其他应用的重复。

新建微信应用成功后,可对信息进行修改和删除,支持集成多个微信应用。如下图所示:

15.png

4.2 应用快捷配置

4.2.1 微信代理跳转

注1:若报表服务器配置在外网环境中,则不需要设置代理服务器地址。

若服务器是配置在内网,访问不到微信服务器,访问不到外网的时候需要配置「代理服务器地址」。

若服务器是配置在内网,且客户服务器可以访问外网,网络正常,则「微信管理>应用快捷配置>代理服务器地址」,不需要填写。

1)先判断报表服务器上,ping qyapi.weixin.qq.com,能 ping 通,代理服务器配置这边不用填写。
2)ping不通,找一个代理服务器配置nginx正向代理,代理配置如下:

server {
    listen 8113;  // 微信代理服务器端口
    server_name 10.2.2.3;  //微信代理服务器IP
    location / {
        proxy_redirect off;
        proxy_pass https://qyapi.weixin.qq.com;//微信服务器域名
    }
    location = /favicon.ico {
        log_not_found off;
    }
}

3)平台配置如下图所示:

image.png

文本框中输入正确的「代理服务器地址」,点击「测试连接」,提示「连接成功」并「保存」。

如需要详细了解工程的网络环境要求,网络检测方法,以及对应的不同情况下的代理配置,请参考:微信钉钉集成环境准备第 4.2 节

4.2.2 主页型应用快速配置

功能简介:

该功能即对微信主页应用进行快速配置,配置的内容包括:可信域名、应用主页链接、自定义菜单中设置一个菜单并添加主页链接。

应用场景:

如果客户这里要用配置的主页,是想要直接登录到平台,显示移动端的目录的话,只需要在上面点击微信「一键配置」,会自动把各个 url 都填写上的,不需要用户额外操作。

操作步骤:

默认为企业微信列表中的第一个,通过下拉框选择需要配置的企业应用名称,然后点击一键配置,即可快速的配置主页型应用,不需要用户再到微信后台配置。如下图所示:

17.png

若配置前,微信应用的主页链接和菜单为空,点击一键配置按钮后,直接进行快速配置。进入微信应用,可信域名应用主页链接自定义菜单中设置一个菜单并添加主页链接已设置完成,如下图所示:

1588082353408427.png

4.2.3 生成微信链接

  • 生成链接的时候一定要选择对应企业应用名称。

  • 可以生成两种微信链接:一是用来单点登录到平台目录的;二是用来单点登录到模板的。

  • 应用场景:应用的 主页 配置;

    定时调度最后一步「文件处理>客户端通知」推送「自定义链接」。可参考文档:定时调度任务详细设置步骤

    模板消息事件插件推送。 模板消息事件插件 可以将该链接推送给移动端用户,用户点开后即可访问链接对应的内容。

1)生成访问决策平台的微信链接

首先要选择企业应用名称,链接页面下拉选择决策平台,点击生成链接后,点击复制按钮即可,如下图所示:

1604043327275823.png

2)生成访问某个模板的微信链接

首先要选择企业应用名称,链接页面下拉选择单个模板,然后选择一张模板,如果需要设置参数,可以点击设置参数默认值进行设置,设置了参数后可以根据自己的需要选择是否解析参数值,最后点击生成链接,点击复制按钮即可,如下图所示:

1604043736311077.png

如果只想主页那边挂一个模板,但是希望可以单点登录打开模板的话,不仅需要在这里生成对应模板链接。还需将链接粘贴到微信工作台或者自定义菜单里,也需要在“网页授权及JS-SDK”下设置可信域名/申请域名校验(域名例如:demo.fanruan.com)。

1619598896681753.png

下面介绍下如何配置参数,如果想要使用设置参数默认值功能需要将插件更新到 10.4.76 版本,如果想要使用解析参数值功能需要更新到 10.4.97 版本。

  • 设置参数默认值

点击设置参数默认值后,如果模板本身有参数,那么会显示在下方,用户可以设置参数的默认值,当然也可以点击右上角新增参数,如下图所示:

注:如果想删除参数,可以鼠标悬浮在参数列表的右边,会出现删除按钮。

1604045042139214.png

  • 解析参数值

假如一张模板a.cpt设置了一个参数date,其值为公式${today}

如果勾选了解析参数值,那么点击生成链接后,链接中会自动解析出今天的日期,也就是变成了:a.cpt&date=2020-11-03

如果不想链接中直接解析参数,想要保留这个公式,可以取消勾选解析参数值,点击生成链接后,公式保留:a.cpt&date=${today}

1604045214769389.png

注1:微信/钉钉集成链接必须勾选解析参数值,否则将导致参数丢失。

注2:模板消息推送的消息链接可选择不解析参数值,从而实现推送的公式计算。

4.2.4 申请域名校验

步骤请参考文档:「微信集成」文件控件&文本控件扫码无法使用

4.2.5 新建微信群

JAR 包在 2020-07-08 及之后,且企业微信管理插件在 V10.4.80 及之后的版本,新增微信群设置。

用户可使用应用新建微信群,自定义微信群名称、群主和群成员,支持通过定时调度推送群消息到微信群。

详情请参见:微信定时推送消息

image.png

4.3 成员管理

4.3.1 用户匹配方式

可根据实际情况选择一种用户匹配方式。

用户匹配方式:微信号匹配手机账号匹配手动匹配自定义匹配。「成员管理」页面如下图所示:

注:不管集成几个微信应用,用户统一进行管理。

25.png

1)微信号/手机账号匹配

微信号匹配手机号匹配展示列相同。

微信号匹配,则是微信成员名与报表里用户名匹配,为一对一匹配。

手机号匹配,微信用户的手机号是唯一的,但是报表用户可以设置多个用户有同一个手机号,此时的匹配逻辑为哪个报表用户先创建则匹配哪个

选择这两个匹配方式时,微信通讯录信息展示:微信成员名姓名微信部门微信成员手机号,如下图所示:

26.png

2)手动匹配

当匹配方式为手动匹配时,微信成员列表中多出「报表用户名」一列信息,点击出现下拉框,选择相应的报表用户名,进行手动匹配。如下图所示:

注1:手动匹配时,报表用户名支持选择「不选」选项。

注2:手动匹配方式是用户可以自由选择与微信用户匹配的报表用户,可实现多个微信用户匹配同一个报表用户。

27.png

3)自定义匹配

即通过设置的服务器数据集,将对应数据列的微信用户和报表用户相匹配。若出现一个微信用户对应了多个报表用户的情况,默认匹配第一个报表用户

选择自定义匹配时,下方多出「匹配设置」项,选择数据集微信用户名报表用户名,进行匹配。如下图所示:

注:自定义匹配时,微信用户列填写的是微信用户名。

28.png

4.3.2 微信通讯录

点击左侧立即更新按钮,立即更新通讯录内容。也可设置定时更新,点击自动更新按钮,弹出设置框,设置更新频率。如下图所示:

注1:用户匹配方式为「微信号匹配」或「手机号匹配」时,如果用户增删改报表用户或者在后台增删改微信用户,需要手动同步通讯录更新。

注2:用户匹配方式为「手动匹配」或「自定义匹配」时,如果用户增删改报表用户或者在后台增删改微信用户,无需更新同步。

29.png

5. 效果查看编辑

5.1 企业微信

进入企业微信,点击工作台,点击FineReport 微信集成,该用户会看到自己权限内可以查看的目录,如下图所示:

注:不建议在电脑版企业微信访问移动端模板。

1588077514154849.jpg

5.2 个人微信

普通微信可以扫描二维码关注,在普通微信中即可出现一个企业号,可在企业号中查看主页内容或收到推送消息。

1)在「通讯录」 Tab 页下点击微工作台,点击微信邀请,邀请关注,扫描二维码,即可加入此企业。如下图所示:

30.png

2)进入企业后,点击应用,看到的内容与是否勾选在微信插件中始终进入主页有关,如下图所示:

1588078040677151.png

  • 若勾选在微信插件中始终进入主页,收不到推送消息。

  • 若不勾选在微信插件中始终进入主页,同时需要在企业微信>我>设置>新消息通知里关闭仅在企业微信中接受消息,则可收到推送消息,可以查看推送的内容和配置的自定义菜单,如下图所示:

23.jpg

6. 微信单点登录及权限控制编辑

6.1 单点登录

在手机企业微信 App 里,您可以看到是不需要登录 FS,直接可以查看结果的。而如果您使用手机浏览器访问相同的报表,您会发现,是需要登录的。那是因为,将微信成员与报表用户关联后,通过微信企业应用进入查看报表时,在 FineReport 后台,我们会使用微信的 OAuth2.0 接口进行用户验证并获取对应微信成员名,然后关联报表用户并自动登录,从而实现微信单点登录。

6.2 权限控制

微信应用的菜单是在微信中管理,所以哪些成员可以看到的哪些报表这是在微信中控制。比如您可以创建多个报表应用,每个应用的查看权限选择不同的成员或组。

用户在微信中打开报表,是否可以查看报表的内容,以及可以查看的数据这部分是在 FR 报表端控制的,控制方法与 PC 端是一样的,比如可以通过角色控制可查看的报表,可以在报表模板中通过 SQL 语句通过用户名过滤来实现不同用户看到的数据不同等等。

7. 注意事项编辑

7.1 内网开放白名单

在做微信集成时,有的客户为内网环境,不允许所有网页都能访问,但要确保对 qyapi.weixin.qq.com  这个域名开放访问权限。