企业微信(新微信企业号)集成

  • 文档创建者:doreen0813
  • 编辑次数:21次
  • 最近更新:April陶 于 2021-04-29
  • 1. 概述

    1.1 版本

    使用企业微信,需要 FineBI、H5、微信插件版本均匹配才能集成,FineBI5.0 及 5.1 版本的对应情况如下表所示:

    FineBI 版本JAR 版本HTML5 移动端展现插件微信管理插件
    功能变动
      5.0  2018-12-20  V10.1.02  V10.0.49 及之后支持集群配置
      5.1  2019-04-03  V10.2.16   V10.1.14 及之后 -

    1.2 功能简介

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

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

    • 支持集成多个应用

    1.3 注意事项

    注意事项 1 

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

    注意事项 2 

    BI 服务器需要能访问外网,若报表服务器在内网,无法访问到微信服务器的话,需要进行正向代理配置,代理配置参考:代理服务器配置

    2. 前期准备

    2.1 安装插件

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

    插件安装方法参照 插件管理

    2.2 环境准备

    不建议用户在本地工程做企业微信集成,建议将 BI 工程部署到tomcat服务器参见 tomcat服务器部署 中,做企业微信集成。

    3. 新建应用

    3.1 微信后台创建应用

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

    7.png

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

    34.png

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

    3.2 获取应用参数

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

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

    3.2.1 CorpID

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

    9.png

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

    3.2.2 Secret 

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

    36.png

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

    37.png

    4. 平台微信管理

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

    38.png

    4.1 应用管理

    1)保存报表服务器地址

    必须设置报表服务器地址并保存,如果不设置,推送的时候可能会有问题,例如:http://域名:端口号/webroot/decision

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

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

    39.png

    2) 新建企业微信应用

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

    40.png

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

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

    15.png

    4.2 应用快捷配置

    4.2.1 微信代理跳转

    外网环境:

    外网环境不需要设置代理服务器地址。

    内网环境:

    若 BI 服务器是配置在内网,则需要配置代理服务器地址,来进行微信的访问。

    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)平台配置

    文本框中输入正确的代理服务器地址,点击测试连接,当连接成功,提示连接成功如下图所示:

    注:微信集成既需要设置正向代理,也需要设置反向代理,配置方法参考 代理服务器配置

    41.png

    3)最后,点击「保存」设置。

    4.2.2 主页型应用快速配置

    生成微信链接包含两种方法:主页型应用快速配置、生成微信链接

    主页型应用快速配置:

    • 应用场景:

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

    • 操作步骤:

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

    即对微信应用进行自动配置,配置包括:可信域名应用主页链接自定义菜单中设置一个菜单并添加主页链接

    42.png

    2)若配置前,微信应用的主页链接和菜单为空,点击一键配置按钮后,直接进行快速配置。

    进入微信应用,可信域名应用主页链接自定义菜单中设置一个菜单并添加主页链接已设置完成,如下图所示:

    1588081008268459.png

    4.2.3 生成微信链接

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

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

    • 应用场景:1)应用的 主页 配置;2)定时调度最后一步「文件处理>客户端通知」推送「自定义链接」。可参考文档:定时调度任务设置步骤

    1)生成微信链接

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

    选择企业应用名称,链接的页面为决策平台,点击生成链接,点击复制,如下图所示:

    44.png

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

    首先要选择企业应用名称,链接页面下拉选择单个模板,然后选择一张仪表板,,最后点击生成链接,点击复制按钮即可,如下图所示:

    2021-04-29_11-12-36.jpg

    2)进入已建立的微信应用,如下图所示:

    1588081233449251.png

    3)在工作台应用主页中点击设置应用主页,粘贴生成的微信链接,点击确定。如下图所示:

    1588074848952682.png

    4)在自定义菜单中点击设置,填写主菜单,设置菜单内容为跳转到网页,填写网址(上面生成的微信链接粘贴过来),点击保存,如下图所示:

    1588075223871806.png

    点击发布,如下图所示:

    1588075352307518.png

    5)在网页授权及JS-SDK中点击设置可信域名,输入可信域名,点击确定。如下图所示:

    1617158783240361.png

    4.2.4 申请域名校验

    1)在网页授权及JS-SDK中点击申请校验域名,点击下载文件,下载校验文件。

    2)把 txt 校验文件放在根目录:%FineBI%/webapps/ROOT/ 路径下。如果修改了服务器根目录的,就要做对应调整

    3)勾选已上传域名归属校验文件,点击确定,看到已启用,说明域名校验成功。如下图所示:

    示例中的可信域名为:secure.finedevelop.com:63777

    1588122860317070.png

    4.2.5 新建微信群

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

    2021-04-29_11-29-55.jpg

    4.3 成员管理

    4.3.1 用户匹配方式

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

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

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

    47.png

    微信号匹配:

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

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

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

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

    26.png

    手动匹配:

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

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

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

    27.png

    自定义匹配:

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

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

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

    28.png

    4.3.2 通讯录更新

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

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

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

    48.png

    5. 效果查看

    5.1 企业微信

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

    1588123163144041.jpg

    5.2 个人微信

    上面描述为在企业微信中的效果。

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

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

    30.png

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

    1588078040677151.png

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

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

    62.jpg

    6. 推送微信消息

    1)参考[通用]定时任务推送消息至 App ,「文件处理」步骤中选择微信通知即可,如下图所示:

    32.png

    2)企业微信用户登录企业微信,可收到消息。如下图所示:

    63.jpg

    注:钉钉推送消息内容支持显示图片消息、文件消息,设置步骤详细可参考 微信钉钉推送支持其他消息类型

    7. 注意事项

    7.1 内网开放白名单

    在做微信集成时,有的客户为内网环境,不允许所有网页都能访问,但要确保能访问微信的域名:https://qyapi.weixin.qq.com

    7.2 企业微信 PC 端还是移动端效果

    用户希望做了企业微信集成后,在使用 PC 端企业微信时,可以展示 PC 端效果,而不是移动端。

    但是现有的方法集成后,PC 端使用时就是移动端效果,那么如何实现 PC端效果呢?

    只需要修改下企业微信后台设置的链接,将 mobile 相关参数去掉即可,位置如下图所示:

    2 (2).png

    7.3 网络异常

    1)问题描述

    企业微信集成在平台新建微信应用时,如下图所示:

    1608693800755039.png

    添加的 CorpID 等信息,一直报错:网络异常,请检查网络配置access_token 为空,corpId 和 secret 设置错误,如下图所示:

    1608693771961086.png

    1608693771971646.png

    2)解决方案

    如果内网服务器访问外网正常,需要检查下报表平台的端口是不是被防火墙禁掉了,端口被禁就不能访问外网了。下面给出解决方案:

    1. 先在代理服务器上面向报表服务器开一个端口。

    2. nginx 代理配置文件中配置正向代理。

    3. 平台上配置代理服务器地址,走通网络以后,添加应用正常,问题解决。

    附件列表


    主题: 移动端
    • 有帮助
    • 没帮助
    • 只是浏览

    售前咨询电话

    400-811-8890转1

    在线技术支持

    在线QQ:800049425

    热线电话:400-811-8890转2

    总裁办24H投诉

    热线电话:173-127-81526