zzry 发表于 2021-11-29 16:51:21

钉钉单点登录进阶版:支持点击卡片消息,查看详情页面

本帖最后由 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-11-29 20:13:08

本帖最后由 zzry 于 2021-12-1 08:51 编辑

资源

Howie.Sun 发表于 2021-11-29 17:37:42

大佬,666啊。:i0tw:

Howie.Sun 发表于 2021-11-30 12:21:10

感谢大佬的积极分享!
如果您有新的问题,也欢迎创建新的求助帖呦。

David.Zhong 发表于 2021-12-1 19:14:57

给大佬10086个赞~:hjyzw:

zsdtylj 发表于 2021-12-9 11:42:00

:i0tw:

紫色幽魂 发表于 2022-4-21 22:51:15

本帖最后由 紫色幽魂 于 2022-4-21 22:57 编辑

请教下,在点击发送消息可以跳转到对应的页面,但是获取不到对应的参数是怎么回事儿,获取参数没有用js代码,是在页面加载中用GETURLQUERYVALUE()公式获取的,正常情况下是可以获取到对应的参数的,但用这种方式就不能获取链接是怎么回事儿,有什么方法可以解决
链接
http: //X.X.X.X/jcxt/customapi/dingdingsinglelogin/sso?pageName=wuzi&id=66&cz=ff


zzry 发表于 2022-4-24 21:30:05

紫色幽魂 发表于 2022-4-21 22:51
请教下,在点击发送消息可以跳转到对应的页面,但是获取不到对应的参数是怎么回事儿,获取参数没有用js代码 ...

这个你的用js接收一下,传递的参数

紫色幽魂 发表于 2022-4-25 18:05:54

zzry 发表于 2022-4-24 21:30
这个你的用js接收一下,传递的参数

引用到的文件是专题教程中的,跳转到对应页面后参数消失了,是不是需要引用楼主的文件才可以

muto 发表于 2022-4-26 22:12:53

感谢大佬分享!!
页: [1] 2
查看完整版本: 钉钉单点登录进阶版:支持点击卡片消息,查看详情页面