页面树结构
转至元数据结尾
转至元数据起始

1. 部署开发扩展包

       钉钉扩展包:

       两个版本的扩展包部署方式相同,部署详细说明参考Wiki链接:扩展包部署 。


2. 钉钉微应用的部署

2.1 官方说明文档

       官方说明文档地址如下:

       https://developers.dingtalk.com/document/app

2.2 免密部署流程

       (1)登陆钉钉开放平台的开发者后台企业管理,登陆地址为:

       https://oa.dingtalk.com/?redirect=http%3A%2F%2Foa.dingtalk.com%2Fomp%2Fapi%2Fmicro_app%2Fadmin%2Flanding%3Fcorpid%3Dopen-dev.dingtalk.com%26redirect_url%3Dhttp%3A%2F%2Fopen-dev.dingtalk.com%2F#/login

       

       (2)记录CorpId。

       

       (3)在应用开发中创建一个企业内部微应用。

       

       (4)填写好相应的应用信息。

       


       

         注意:应用首页链接和PC端首页地址,vision/dingding/dingding.jsp  和 vision/dingding/dingdingpc.jsp 不能随意修改成 openresource.jsp 或者 index.jsp等的方式,这样会导致无法进行免密登录。

       (5)给应用开通相应权限。

     

       (6)在基础信息中记住相应的AgentID、AppKey和AppSecret。

       

       

       (7) 设置Smartbi的系统选项,将刚刚记录的CorpId、AgentID、AppKy和AppSecret填写在相对应的位置。

       

       (8)在Smartbi中新建用户,新建别名与钉钉企业通讯录中的姓名相同,此处填写的是管理者的名字,而不是昵称。

 

       

       

       (9)配置完成后重启,即可进行利用钉钉进行免密访问smartbi了。

2.3 发送企业消息

       发送企业消息需要基于 免密部署 的基础上完成的。

       (1)进入需要利用企业信息监控的报表宏。

       

       (2)给报表添加以下宏代码,注意图中提示,修改对应位置的代码,不然发送的消息会出现异常。

       

/*名称:sendinfotoDD    类型:ClientSide    对象:spreadsheetReport   事件:onRenderReport   */

var util = jsloader.resolve('freequery.common.util');
function main(spreadsheetReport) {
    //封装钉钉企业消息体
    var msgContent = {};
    //消息接收者在钉钉中点击消息内容,将打开如下链接,完成免登后,打开resid对应的报表。
    msgContent.messageUrl = "http://10.10.101.90:8080/smartbi/vision/dingding/ddopenresource.jsp?resid=I402882c701552f492f49736e01552f4df2c50013&random=" + Math.random();
    //消息标题
    msgContent.title = "报表跳转了";
    //消息文本
    msgContent.text = "报表id是I402882c701552f492f49736e01552f4df2c50013";
    //消息图标
    msgContent.picUrl = "https://www.baidu.com/img/baidu_jgylogo3.gif";
    var msgString = JSON.stringify(msgContent);
    //调用后端DDModule. sendLinkCorpConversation()方法,由后端请求钉钉服务器,发送企业消息
    util.remoteInvokeEx('DDModule', 'sendLinkCorpConversation', [msgString, ['收件人']]);

	//推送新方法,需要传递3个参数
	//util.remoteInvokeEx('DDModule', 'sendLinkCorpConversationExt', [msgString, ['韩某某'], []]);
	//推送新方法,可排除指定手机号的用户,如下:推送报表给指定用户但排除其中电话为13661234567的用户
	util.remoteInvokeEx('DDModule', 'sendLinkCorpConversationExt', [msgString, ['韩某某1', '韩某某2'], ['13661234567']]);
}

       (3)添加完后即可在打开报表时,在钉钉收到企业信息提示了。

3. 注意事项

  • smartbi所在服务器的网络需要正常访问钉钉域名dingtalk.com。
  • 若是后台提示ip不在白名单内,则将该ip添加到服务器出口IP处即可。

  • 代码修改的位置需要正确,否则发消息会出现异常。
  • 如果没有实现免密登录,即还是需要输入用户名和密码,请检查下应用首页链接和PC端首页地址 的配置是否正常。应用首页链接和PC端首页地址,vision/dingding/dingding.jsp  和 vision/dingding/dingdingpc.jsp 不能随意修改成 openresource.jsp 或者 index.jsp等的方式,这样会导致无法进行免密登录。

     

  • 当Smartbi同时集成了钉钉和CAS,更换新的CAS扩展包后,使用钉钉访问Smartbi内的应用时,不会跳转到CAS登录界面,无需再次登录即可访问相关报表资源。