欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

如何将钉钉集成到FineReport插件中

程序员文章站 2022-05-31 16:29:38
...

报表服务器

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

如何将钉钉集成到FineReport插件中
            
    
    博客分类: Finereport移动开发 FineReport移动端集成钉钉  

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

如何将钉钉集成到FineReport插件中
            
    
    博客分类: Finereport移动开发 FineReport移动端集成钉钉  

钉钉企业应用

管理员登录钉钉企业号,进入微应用设置,需要关注的信息有:

CorpID:是企业在钉钉中的标识,每个企业拥有一个唯一的CorpID;

CorpSecret:是企业每个应用的凭证密钥

如何将钉钉集成到FineReport插件中
            
    
    博客分类: Finereport移动开发 FineReport移动端集成钉钉  

  •  钉钉管理

登录FineReport管理平台,点击管理系统>钉钉管理节点:将钉钉中的CorpID和CorpSecret分别填到钉钉企业号ID和管理组凭证密码中,设置Token获取路径,可以自定义获取的url,如果不写则采用内置的方式获取,保存,如下图:

如何将钉钉集成到FineReport插件中
            
    
    博客分类: Finereport移动开发 FineReport移动端集成钉钉  

  • 钉钉插件自定义token获取

钉钉提供的获取token接口本身有缺陷:

1)钉钉提供的接口,使用corpid和secret获取token,默认不会缓存,但是钉钉提倡做token缓存,2小时内可以重复使用,这样减少对钉钉服务器的访问,以免出现问题;

2)钉钉中集成多个应用的话,如果多个应用都会用到corpid和secret获取token,如果某个应用缓存了token,就会冲突

例如:应用a,做了缓存,第一次访问后获取到token1,应用b使用会重新取token2,此时应用a还是用的token就无法访问了。

针对这种情况,处理方式是所有应用统一到一个地方去取token,此时需要设置自定义token的获取地址

在钉钉插件中,钉钉管理>基本信息>设置Token获取路径,可以自定义获取的url,如果不写则采用内置的方式获取

如何将钉钉集成到FineReport插件中
            
    
    博客分类: Finereport移动开发 FineReport移动端集成钉钉  

Token获取接口规则:返回json类型的数据,{access_token:"xxxxx", jsapi_ticket:"xxxxx"} 

钉钉管理后台创建FineReport报表微应用时,例如http://www.finereporthelp.com:8181/app2/ReportServer?op=fs&corpid=$CORPID$,后面要加上参数&corpid=$CORPID$,这样后台会获取到cropid,然后取到钉钉userid,做单点登录;

如何将钉钉集成到FineReport插件中
            
    
    博客分类: Finereport移动开发 FineReport移动端集成钉钉  

  • 钉钉用户与报表用户关联

按照钉钉提供的方法,读取钉钉通讯录的成员,需要的字段有uesrid,name,department进入FineReport报表管理平台fs,点击钉钉管理节点,除了基本信息外,增加了钉钉成员管理,点击效果如下:

如何将钉钉集成到FineReport插件中
            
    
    博客分类: Finereport移动开发 FineReport移动端集成钉钉  

表格中会自动读取钉钉企业号通讯录中的所有成员,并且在每次打开该页面时刷新为最新的;默认钉钉成员与报表用户相同,因为大部分情况下,钉钉成员名和报表用户名是统一的;

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

如何将钉钉集成到FineReport插件中
            
    
    博客分类: Finereport移动开发 FineReport移动端集成钉钉  

  • 单点登录

钉钉提供免登服务,与微信类似,通过code可以获取当前取号的userid,获取到userid后,通过关联关系自动登录报表后台

  • 消息推送

开发服务器可以主动的发送消息给企业成员,比如使用FineReport定时器生成报表后,发送消息给相应的人员进行查看。进入FineReport管理平台,添加定时任务:

如何将钉钉集成到FineReport插件中
            
    
    博客分类: Finereport移动开发 FineReport移动端集成钉钉  

如何将钉钉集成到FineReport插件中
            
    
    博客分类: Finereport移动开发 FineReport移动端集成钉钉  

到输出设置这步,比如我们将定时生成的结果挂在其他这个目录下面,并且命名为钉钉文档测试:

如何将钉钉集成到FineReport插件中
            
    
    博客分类: Finereport移动开发 FineReport移动端集成钉钉  

通知与存档选择推送钉钉消息,企业应用(AgentID)需要根据钉钉管理里的进行填写,例如下设置,这样定时任务结束后,这个钉钉成员可以收到消息

如何将钉钉集成到FineReport插件中
            
    
    博客分类: Finereport移动开发 FineReport移动端集成钉钉  

定时生成结果的文件名:对应发送消息的标题名

企业应用AgentID:发消息至哪个应用

钉钉用户:发消息给哪些成员,下拉框中会自动读取钉钉通讯录中的所有成员,多个成员之间用|分割,比如Jane|Saber

部门ID:发消息给某个部门的所有成员,该属性与钉钉用户是并的关系,不同部门之间也用|分割

消息内容:定义消息的正文内容

定时结果访问连接:勾选的话会在消息正文最后加上定时生成的结果连接,点击后就可以直接打开定时结果;不选的话则只发送纯文本消息。

定时任务设置好后,比如任务每天都会执行,每次执行后就会推送消息给对应的成员,效果如下:

如何将钉钉集成到FineReport插件中
            
    
    博客分类: Finereport移动开发 FineReport移动端集成钉钉  

点击连接,就可以看到定时生成的结果。