找回密码
 立即注册

QQ登录

只需一步,快速开始

zzry
金牌服务用户   /  发表于:2021-11-29 16:51  /   查看:10064  /  回复:10
本帖最后由 Chelsey.Wang 于 2021-12-3 14:09 编辑

注意:此方式仅支持7.0.102以上版本

1:登录钉钉开放平台,开发者后台管理 https://open.dingtalk.com/
创建一个企业内部开发微应用

image.png759599914.png
image.png286926879.png
image.png489289550.png
微应用创建好之后:我们需要用到 AppKey     AppSecret  具体用法,后面步骤再叙述。

image.png834103698.png
选择开发管理:
image.png526269530.png

项目访问地址+customapi/dingdingsinglelogin/sso
在权限管理中;需要开启的权限如图:注意这几个权限开启完
image.png447747497.png
选择钉钉登录与分享:添加回调域名:项目访问地址+customapi/dingdingsinglelogin/sso
image.png382458495.png
在活字格设计器,设置中开启“与另外的网站集成”
image.png286957091.png
image.png165231322.png

Config.json 里面具体配置参数:
image.png758391418.png
在服务器端,添加自定义属性
image.png962234497.png
如何获取钉钉userID     链接地址:https://oa.dingtalk.com/#/welcome
image.png830689697.png

image.png176591185.png

image.png128190917.png
单点登录配置完成了,发布应用就可以测试了。

image.png546119079.png

---------------------------使用发送消息返回的地址,进行单点登录-----------------------------


官网教程:
发送http消息配置请看:
资源地址:

配置消息提醒:
创建一张表(见名之意就好)用于存储,钉钉信息:
image.png587600707.png
image.png509954833.png

image.png907852172.png
创建一个服务端命令:获取token
image.png450013427.png

具体获取做法,请看上面链接(视频教程) 大约在 15分

配置好之后,测试一下
image.png587781982.png

创建发送钉钉消息服务端命令(http形式)
服务端命令添加两个参数 pageName(页面名称) parameter(参数)

image.png720595702.png

1:首先调用获取token服务端命令,
image.png82358702.png
2:获取表格钉钉配置表中 agentID Access_token (表格中的字段)
image.png142149046.png
3:发送http请求:

钉钉文档:
image.png627360229.png

4:配置消息推送格式:
我演示的是以卡片的形式发送消息:

image.png617329711.png

image.png329496154.png

image.png975920715.png


image.png201999816.png

Msg;中配置消息的类型,链接地址,消息标题,
Msgtype;消息类型,action_card   为卡片形式(根据自己的需求,可以查询钉钉文档)
Action_card:  
Title:消息提示的名称  markdown;消息内容  single_title:消息链接名称 single_url:链接地址

Single_url:
image.png419619750.png

User_Id:解释一下:
image.png70726927.png

问题:程序如何获取链接中的参数,这里需要在编辑页面加载时命令添加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[strs.split("=")[0]]=unescape(strs.split("=")[1]);   
       }   
    }   
    return theRequest;   
}
var objUrl = GetRequest();
Forguncy.Page.getCell("单元格名称").setValue(objUrl.单元格名称);

image.png824284667.png

image.png886099243.png

To_all_user :是否发送全部用户 一般设置为false
Agent_ID   :获取设置变量中(access)access.agentID   解释;钉钉配置表中的agent_ID
Userid_list  : 用户的userID
image.png631408691.png


大功告成!







评分

参与人数 3金币 +1666 满意度 +5 收起 理由
muto + 5
Chelsey.Wang + 1000 很给力!
David.Zhong + 666 超级给力~

查看全部评分

10 个回复

倒序浏览
zzry
金牌服务用户   /  发表于:2021-11-29 20:13:08
推荐
本帖最后由 zzry 于 2021-12-1 08:51 编辑

资源
单点登录传递页面,参数.gif
单点登录实现结果.gif

Demo - 副本.fgcc

344.13 KB, 下载次数: 1394

dingdingSingleLogin.zip

15.64 MB, 下载次数: 1391

回复 使用道具 举报
Howie.Sun讲师达人认证 悬赏达人认证 活字格认证
论坛元老   /  发表于:2021-11-29 17:37:42
板凳
大佬,666啊。
回复 使用道具 举报
Howie.Sun讲师达人认证 悬赏达人认证 活字格认证
论坛元老   /  发表于:2021-11-30 12:21:10
地板
感谢大佬的积极分享!
如果您有新的问题,也欢迎创建新的求助帖呦。
回复 使用道具 举报
David.Zhong讲师达人认证 悬赏达人认证 活字格认证
论坛元老   /  发表于:2021-12-1 19:14:57
5#
给大佬10086个赞~
回复 使用道具 举报
zsdtylj
中级会员   /  发表于:2021-12-9 11:42:00
6#
回复 使用道具 举报
紫色幽魂
金牌服务用户   /  发表于:2022-4-21 22:51:15
7#
本帖最后由 紫色幽魂 于 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
8#
紫色幽魂 发表于 2022-4-21 22:51
请教下,在点击发送消息可以跳转到对应的页面,但是获取不到对应的参数是怎么回事儿,获取参数没有用js代码 ...

这个你的用js接收一下,传递的参数
回复 使用道具 举报
紫色幽魂
金牌服务用户   /  发表于:2022-4-25 18:05:54
9#
zzry 发表于 2022-4-24 21:30
这个你的用js接收一下,传递的参数

引用到的文件是专题教程中的,跳转到对应页面后参数消失了,是不是需要引用楼主的文件才可以
回复 使用道具 举报
muto
金牌服务用户   /  发表于:2022-4-26 22:12:53
11#
感谢大佬分享!!
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部