钉钉单点登录进阶版:支持点击卡片消息,查看详情页面
本帖最后由 Chelsey.Wang 于 2021-12-3 14:09 编辑注意:此方式仅支持7.0.102以上版本
1:登录钉钉开放平台,开发者后台管理 https://open.dingtalk.com/
创建一个企业内部开发微应用
微应用创建好之后:我们需要用到 AppKey AppSecret具体用法,后面步骤再叙述。
选择开发管理:
项目访问地址+customapi/dingdingsinglelogin/sso在权限管理中;需要开启的权限如图:注意这几个权限开启完选择钉钉登录与分享:添加回调域名:项目访问地址+customapi/dingdingsinglelogin/sso在活字格设计器,设置中开启“与另外的网站集成”
Config.json 里面具体配置参数:在服务器端,添加自定义属性如何获取钉钉userID 链接地址:https://oa.dingtalk.com/#/welcome
单点登录配置完成了,发布应用就可以测试了。
---------------------------使用发送消息返回的地址,进行单点登录-----------------------------
官网教程:发送http消息配置请看:https://gcdn.grapecity.com.cn/forum.php?mod=viewthread&tid=85340&fromuid=9683资源地址:https://gcdn.grapecity.com.cn/showtopic-85760-1-1.html
配置消息提醒:创建一张表(见名之意就好)用于存储,钉钉信息:
创建一个服务端命令:获取token
具体获取做法,请看上面链接(视频教程) 大约在 15分
配置好之后,测试一下
创建发送钉钉消息服务端命令(http形式):服务端命令添加两个参数 pageName(页面名称) parameter(参数)
1:首先调用获取token服务端命令,2:获取表格钉钉配置表中 agentID ,Access_token (表格中的字段)3:发送http请求:
钉钉文档:https://developers.dingtalk.com/document/app/obtain-orgapp-tokenhttp请求地址:POST https://oapi.dingtalk.com/message/send_to_conversation?access_token=ACCESS_TOKEN
4:配置消息推送格式:https://developers.dingtalk.com/document/app/asynchronous-sending-of-enterprise-session-messages 我演示的是以卡片的形式发送消息:
Msg;中配置消息的类型,链接地址,消息标题,Msgtype;消息类型,action_card 为卡片形式(根据自己的需求,可以查询钉钉文档)Action_card:Title:消息提示的名称markdown;消息内容single_title:消息链接名称 single_url:链接地址
Single_url:
User_Id:解释一下:
问题:程序如何获取链接中的参数,这里需要在编辑页面加载时命令添加js命令function GetRequest() { var url = location.search; //获取url中"?"符后的字串 var theRequest = new Object(); if (url.indexOf("?") != -1) { var str = url.substr(1); strs = str.split("&"); for(var i = 0; i < strs.length; i ++) { theRequest.split("=")]=unescape(strs.split("=")); } } return theRequest; } var objUrl = GetRequest();Forguncy.Page.getCell("单元格名称").setValue(objUrl.单元格名称);
To_all_user :是否发送全部用户 一般设置为false Agent_ID :获取设置变量中(access)的access.agentID 解释;钉钉配置表中的agent_IDUserid_list: 用户的userID
大功告成!;P
本帖最后由 zzry 于 2021-12-1 08:51 编辑
资源
大佬,666啊。:i0tw: 感谢大佬的积极分享!
如果您有新的问题,也欢迎创建新的求助帖呦。 给大佬10086个赞~:hjyzw: :i0tw: 本帖最后由 紫色幽魂 于 2022-4-21 22:57 编辑
请教下,在点击发送消息可以跳转到对应的页面,但是获取不到对应的参数是怎么回事儿,获取参数没有用js代码,是在页面加载中用GETURLQUERYVALUE()公式获取的,正常情况下是可以获取到对应的参数的,但用这种方式就不能获取链接是怎么回事儿,有什么方法可以解决
链接
http: //X.X.X.X/jcxt/customapi/dingdingsinglelogin/sso?pageName=wuzi&id=66&cz=ff
紫色幽魂 发表于 2022-4-21 22:51
请教下,在点击发送消息可以跳转到对应的页面,但是获取不到对应的参数是怎么回事儿,获取参数没有用js代码 ...
这个你的用js接收一下,传递的参数 zzry 发表于 2022-4-24 21:30
这个你的用js接收一下,传递的参数
引用到的文件是专题教程中的,跳转到对应页面后参数消失了,是不是需要引用楼主的文件才可以 感谢大佬分享!!
页:
[1]
2