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

目录:

1. 创建企业微信应用编辑

管理员登录企业微信后,点击企业应用,添加应用,如下图:
222
上传应用logo,填写应用名称,应用介绍选填,设置可见范围(这里的可见范围只能选择部门,不能选择成员,因为单个用户将无法读取),设置完成后,点击创建应用,如下图:
222
这样应用就创建好了,如下图:
222

 

2. 报表服务器准备编辑

2.1 报表服务器要求
您的报表服务器必需是能够访问外网的,从2017年10月往后如果是http协议则访问端口必须为80,如果是https协议访问端口必须为443,不再支持其他非标准接口
您的报表服务器必需是8.0及以上版本的。
您的Jdk必需是1.6及以上版本的。
2.2 微信管理插件安装
为了简化微信集成,FR开发了微信管理插件,将微信的相关配置从后台转为前台可视化界面操作,实现了微信集成基本信息配置、内置回调URL验证、同步微信通讯录并与报表用户关联实现单点登录以及定时发送消息至微信成员。FR还在继续开发常用的管理界面。
a.安装微信插件

设计器插件安装方法参照设计器插件管理

服务器安装插件方法参照服务器插件管理
b. 安装后的效果
安装微信管理插件后,打开报表管理平台,管理系统下会增加“微信管理”节点,微信相关的配置管理都将会放在这个节点中去配置:
同时,设置定时任务的最后一步文件处理-客户端通知中,会增加“微信通知”,如下图:
微信管理插件的使用我们在回调模式配置及定时推送消息至微信中详细介绍。
2.3 手机浏览器报表插件
微信集成的企业应用中打开的只能是HTML5页面,不能使用FR新版移动app的原生解析功能。 FR开发了手机浏览器HTML5浏览方式,实现手机浏览器中报表的自适应、参数界面分离等效果。 移动终端HTML5浏览方式仅对分页报表进行了处理,详细请查阅移动端Html5报表
设计器插件安装方法参照插件的安装管理
服务器安装插件方法参照服务器上安装插件

3. 基本信息设置编辑

登录FR管理平台,点击管理系统-微信管理-基本信息,只需填写微信企业号ID和管理组凭证密钥,不需要填写Token和EncodingAESKey,如下图:
222

注:从老版微信升级到企业微信的,Token和EncodingAESKey删除后刷新还存在,可参考旧版微信升级企业微信
注:复制粘贴ID和密钥时注意检查前后是否有多余的空格,如果有多余空格可能会导致成员管理刷新后无法显示通讯录等问题。

a.微信企业号ID来源于企业微信管理平台里的我的企业-企业信息的CorpID,如下图:
222
注:企业logo和简称可以修改。

b.管理组凭证密钥,来源于企业微信管理平台里的刚刚创建的企业应用里的Secret,如下图:
注:老版微信升级成企业微信会出现两个Secret,需要仔细核对Secret或配置应用权限,具体请查看旧版微信升级企业微信
222

 

4. 用户匹配编辑

 微信用户与报表用户的匹配方式有三种:

(1)根据微信成员名匹配
(2)根据手机号匹配
注:平台用户手机号非唯一,如果遇到多个报表平台用户为同一手机号,后台匹配的时候取第一个匹配到的报表用户。
(3)手动匹配
默认为“根据微信成员名匹配”,如下图所示:
222
这里以手动匹配为例介绍,点击管理系统>微信管理>微信成员管理,选择手动匹配,若你的微信成员名和报表用户名相同,则报表用户名处不需要修改,若微信成员名和报表用户名不相同,则设置和微信用户关联的报表用户。
注:若是以管理员账号登陆微信的,需要手动关联报表用户名。
注:初次配置基本信息后微信成员默认不展开,需要点击更新通讯录。
222
“更新通讯录”可手动刷新微信成员,在微信管理中配置完基本信息,若微信通讯录未更新,点击更新通讯录,即可刷新该企业微信中的成员。

 

5. 企业微信应用配置编辑

5.1 主页配置

进入刚刚自建的应用-文档测试:

1)可见范围:选择用户所在的部门,不能选择单个成员,因为单个用户将无法读取,示例文档组
2)网页授权及JS-SDK(可信域名):域名和端口号,示例www.finereporthelp.com:80
注:从2017年10月往后,域名只能使用备案域名,如果是http协议只能使用80端口,如果是https协议只能使用443端口
3)勾选“在微信插件中始终进入主页”则成员在微信中点击应用将始终进入企业设置的主页,若勾选了这个选项,则普通微信中收不到推送消息
4)工作台应用主页:企业微信中点击应用打开的页面,url规则如下
https://open.weixin.qq.com/connect/oauth2/authorize?appid=xxxxxxxxx&redirect_uri=xxxxx&response_type=code&scope=snsapi_base&state=STATE#wechat_redirect
链接中需要包含以下参数:

appid:企业的应用ID即CorpID

redirect_uri:授权后重定向的回调链接地址,报表访问url,需要使用urlencode对链接进行编码处理,详细请看下面

response_type:返回类型,此时固定为:code

scope:应用授权作用域,此时固定为:snsapi_base

state:重定向后会带上state参数,企业可以填写a-zA-Z0-9的参数值

wechat_redirect:微信终端使用此参数判断是否需要带上身份信息

 

这里的redirect_uri的值,例如fs登录url为www.finereporthelp.com:80/WebReport/ReportServer?op=fs 进行urlencode(utf-8编码)编码后url为:
www.finereporthelp.com%3a80%2fWebReport%2fReportServer%3fop%3dfs
最终,微信中网页链接地址,就是将上方appid后面的xxx替换为——企业的应用ID即CorpID,和redirect_uri后面的xxx替换为——编码后的url,进行替换后如下:
https://open.weixin.qq.com/connect/oauth2/authorize?appid=wwb2f5a71873a5d3d9&redirect_uri=www.finereporthelp.com%3a80%2fWebReport%2fReportServer%3fop%3dfs&response_type=code&scope=snsapi_base&state=STATE#wechat_redirect
这样主页就配置好了,移动端打开企业微信app,效果如下:
222222

 

5.2 自定义菜单配置
点击自定义菜单,如下图:

网址url的规则与上面主页配置相同,只需要将fs登录url换成某个报表h5访问的url,示例如下:
http://www.finereporthelp.com:80/WebReport/ReportServer?reportlet=demo/basic/ParagraphDetails_phone.cpt&op=h5
最终url如下:
https://open.weixin.qq.com/connect/oauth2/authorize?appid=wwb2f5a71873a5d3d9&redirect_uri=http%3a%2f%2fwww.finereporthelp.com%3a80%2fWebReport%2fReportServer%3freportlet%3ddemo%2fbasic%2fParagraphDetails_phone.cpt%26op%3dh5&response_type=code&scope=snsapi_base&state=STATE#wechat_redirect
若开启了模板权限时,设置自定义菜单需要使用WeiXinServer,具体可参看开启模板权限时访问单个模板需要用WeiXinServer
填写主菜单,设置菜单内容为跳转到网页,填写网址,都填写完成后,点击保存,如下图:
222
点击发布,才能生效,如下图:
222
这样自定义菜单就配置好了,移动端打开企业微信app,效果如下:
222
222
222
注:若发布成功后,无法查看到该推送,需要新增一个定时任务,在企业微信的消息列表界面中查看刚刚设定的自定义报表菜单。

6. 个人微信查看企业应用编辑

另外上面描述都是在企业微信里查看的效果,如果是普通微信,可以扫描二维码关注,在普通微信中即可出现一个企业号,即可在企业号中查看主页内容或收到推送消息,如下图:
222
点击微信插件Logo,上传图片后,即可扫描二维码,加入该企业。
222
若勾选“在微信插件中始终进入主页”,则从文档测试应用进去,显示数据决策系统主页,收不到推送消息,如下图所示:
222
若不勾选“在微信插件中始终进入主页”,同时需要在企业微信设置-新消息通知里关闭“仅在企业微信中接受消息”,则可收到推送消息,可以查看推送的内容和配置的自定义菜单,如下图所示:

222

 

7. 推送微信消息编辑

7.1 普通推送
注:如果要用企业微信的推送功能,微信插件需要升级到1.19及以上版本
开发服务器可以主动的发送消息给企业成员,比如使用FR定时器生成好报表后,发送消息给相应的人员进行查看。
进入FR管理平台,添加定时任务:
第一步:基本设置,填写任务名称,设置默认用户组(即需要接收微信通知的用户)如下图:
第二步:调度周期,按照默认设置,如下图:



第三步:本地文件中,选择模板,如下图:
注:推送对象需要有模板查看权限
第四步:文件处理
勾选“客户端通知”,切换到客户端通知标签页,勾选“微信通知”,选择应用ID,填写主题和内容,选择链接,如下图:
应用ID:发消息至哪个应用,应用ID查看方法:打开帆软市场-选择你要用哪个发送的应用-点击后会有应用ID;
定时结果访问连接:勾选的话会在消息正文最后加上定时生成的结果连接,点击后就可以直接打开定时结果;
这样定时任务结束后,默认用户组(即第一步里设置的)所有成员都可以收到消息。

 

定时任务设置好后,每次执行后就会推送消息给对应的成员,若勾选了定时结果链接,那么点击详情即可打开定时生成的结果链接,效果如下:
7.2 根据不同人推送不同消息

设置方法和定时任务邮件发送实现不同的人发送不同内容相同,只需要将最后一步:文件处理中的邮件通知换成客户端通知-微信通知即可。

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

(1)单点登陆
在手机企业微信app里,您可以看到是不需要登陆fs,直接可以查看结果的。而如果您使用手机浏览器访问相同的报表,您会发现,是需要登录的。那是因为,将微信成员与报表用户关联后,通过微信企业应用进入查看报表时,在FR后台,我们会使用微信的OAuth2接口进行用户验证并获取对应微信成员名,然后关联报表用户并自动登录,从而实现微信单点登陆。
(2)权限控制
微信应用的菜单是在微信中管理,所以哪些成员可以看到的哪些报表这是在微信中控制。比如您可以创建多个报表应用,每个应用的查看权限选择不同的成员或组。
用户在微信中打开报表,是否可以查看报表的内容,以及可以查看的数据这部分是在FR报表端控制的,控制方法与PC端是一样的,比如可以通过角色控制可查看的报表,可以在报表模板中通过sql语句通过用户名过滤来实现不同用户看到的数据不同等等。