异行星低代码平台--第三方插件对接:钉钉平台对接(一)
异行星低代码平台可以集成钉钉,实现单点登录、消息推送和组织机构同步。
提示
此功能需要企业版授权才能使用。
钉钉集成
单点登录
异行星低代码平台集成到钉钉后,只要使用钉钉账户登录钉钉客户端,即可在钉钉中直接使用管理后台,而不需要再次使用管理后台账户来登录使用。
消息推送
异行星低代码平台集成到钉钉后,当其绑定的管理后台账户有通知消息时,钉钉会弹出消息提醒,可点击该消息直接进入管理后台查看或处理相关消息。
同步通讯录
异行星低代码平台集成到钉钉后,可以将钉钉的通讯录同步到管理后台系统中。
如何集成钉钉
在集成钉钉前,请确保您的管理后台项目已经绑定到某个可通过互联网访问进入的域名地址,只能通过局域网IP或外网IP地址访问的管理后台项目是不可以集成到钉钉的,以下说明均假定您的项目已经绑定到域名地址https://www.test-dingtalk.com
。
创建钉钉应用
请注册钉钉,并在钉钉后台(工作台->自建应用)创建“H5微应用”,以下说明都假设这里创建了一个名为“管理后台合同”的H5微应用。
设置钉钉开发管理
请在钉钉后台,进入刚刚创建的“管理后台合同”应用,点击“开发管理”进行相关配置。
服务器出口IP:请配置服务器的公网ip,类似于白名单的功能。
应用首页地址:请配置管理后台服务的域名地址加上sso/dingtalk?corpid=$CORPID$
后缀,比如https://www.test-dingtalk.com/sso/dingtalk?corpid=$CORPID$
。
PC端首页地址:建议配置和应用首页地址一样。
异行星低代码平台地址:不需要配置。
后缀中添加`$CORPID$`占位符,系统在跳转时会自动将url中的占位符替换成当前企业的corpid。
设置钉钉事件订阅
请在钉钉后台,进入刚刚创建的“管理后台合同”应用,点击“事件订阅”进行相关配置。
加密 aes_key: 随机生成,可随时刷新修改,生成后需要配置到管理后台系统-设置-公司设置-钉钉-AesKey
签名 token: 随机生成,可随时刷新修改,生成后需要配置到管理后台系统-设置-公司设置-钉钉-Token
请求网址: 请先确保已经将aes_key和token配置到管理后台系统中,然后再配置管理后台服务的域名地址加上api/dingtalk/listen
后缀,比如https://www.test-dingtalk.com/api/dingtalk/listen
,一定要配置公网域名访问地址。
设置钉钉权限管理
请在钉钉后台,进入刚刚创建的“管理后台合同”应用,点击“权限管理”进行相关配置。
开通通讯录管理相关的权限:企业员工手机号信息、邮箱等个人信息、个人手机号信息、钉钉通讯录关联组织读权限、通讯录部门信息读权限、维护通讯录的接口访问权限、成员信息读权限、根据手机号姓名获取成员信息的接口访问权限和通讯录部门成员读权限。
设置钉钉版本管理与发布
请在钉钉后台,进入刚刚创建的“管理后台合同”应用,并在“版本管理与发布”中选择可使用范围,在可使用范围内的员工可以在工作台中看到“管理后台合同”应用和收到推送消息。
确定使用范围后,点击“发布”使配置生效。
添加钉钉插件
异行星低代码平台企业版本服务默认集成了钉钉插件。
绑定钉钉应用
在启用钉钉插件之后,异行星低代码平台管理员可以在管理后台的“设置->公司设置->公司”界面看到新加了一栏“钉钉”,完善这些信息即可把钉钉应用绑定到管理后台中。
- 企业ID(CorpId):在钉钉后台,“首页”界面可以查看和复制该ID值。
- AgentID:在钉钉后台,“应用开发->管理后台合同”的“凭证与基础信息”界面可以查看和复制该ID值。
- AppKey:在钉钉后台,“应用开发->管理后台合同”的“凭证与基础信息”界面可以查看和复制该Key值。
- AppSecret:在钉钉后台,“应用开发->管理后台合同”的“凭证与基础信息”界面可以查看和复制该Secret值。
- AesKey:在钉钉后台,“应用开发->管理后台合同”的“事件订阅”界面可以查看和复制该aes_key值。
- Token:在钉钉后台,“应用开发->管理后台合同”的“事件订阅”界面可以查看和复制该token值。
在钉钉中使用管理后台
把钉钉集成到管理后台之后,还需要在管理后台中配置每个用户的“钉钉userid”才能正常在钉钉中使用管理后台。
系统管理员可以通知需要在钉钉中使用管理后台的用户前往钉钉的通讯录中查找自己的“钉钉userid”,并把它复制下来,然后在管理后台的“设置->个人账户设置->我的资料”界面上编辑保存其“钉钉userid”信息;也可以统一由系统管理员在管理后台“设置->公司设置->用户”界面上维护每个用户在钉钉通讯录上的“钉钉userid”信息。
修改本地adminos-config.yml文件,添加tenant._id、api_key和log_path,可以在设置-个人账户设置-API Key菜单下,获取用户的API Key。
tenant:_id: ${adminos_TENANT_ID}dingtalk:api_Key: ${APIKEY} # API Key, 接口验证需要log_path: ${DING_LOGPATH} # 日志文件路径,默认是./ding_server.log
如果是用docker部署的用户,请修改docker-compose.yml文件,添加APIKEY和DING_LOGPATH环境变量:
adminos:image: adminos/adminos-project-template:2.0.40restart: alwaysports:- "3000:3000"volumes:- "./docker-volumes/adminos/storage:/app/storage"environment:- PORT=3000- ROOT_URL=http://localhost:3000- MONGO_URL=mongodb://mongo:27017/adminos- MONGO_OPLOG_URL=mongodb://mongo:27017/local- adminos_CFS_STORE=local- adminos_STORAGE_DIR=/app/storage- TRANSPORTER=redis://redis:6379- CACHER=redis://redis/1- APIKEY=n32D3LeG8aIq5_jiiss23ssesf023sPGe # 配置系统中的API Key- DING_LOGPATH="./ding_server.log" # 日志默认路径- adminos_TENANT_ID=7asfxossf8sfssss # 管理后台id
以上所有就绪后,管理后台用户只要登录钉钉账户就可以在钉钉客户端上无缝使用管理后台服务了。
工作台
如果钉钉上集成了上述创建的“管理后台合同”项目,那么只要在手机或PC客户端登录了钉钉,就可以在其“工作台”栏上看到“管理后台合同”这个应用,直接点击即可进入应用主页。
消息
如果钉钉上集成了上述创建的“管理后台合同”项目,那么只要在手机或PC客户端登录了钉钉,当其绑定的管理后台账户上有推送通知消息时,钉钉客户端会主动通知用户收到推送通知,也可以在其“消息”栏上直接看到来自管理后台的消息列表。
用户同步
如果钉钉上集成了上述创建的“管理后台合同”项目,可以通过前台调用数据同步接口将钉钉通讯录同步到管理后台系统中,例如调用https://www.test-dingtalk.com/api/dingtalk/stockData
,同步前如果管理后台系统中已经存在用户,需要将用户与钉钉中对应的用户进行绑定,这样在同步时就会更新已存在用户信息。
同步钉钉账户id
如果钉钉上集成了上述创建的“管理后台合同”项目,对于只需要同步钉钉账户id到管理后台系统的用户,在配置完权限管理后,可以调用https://www.test-dingtalk.com/api/sync/dingtalkId
进行同步。
相关文章:
异行星低代码平台--第三方插件对接:钉钉平台对接(一)
异行星低代码平台可以集成钉钉,实现单点登录、消息推送和组织机构同步。 提示 此功能需要企业版授权才能使用。 钉钉集成 单点登录 异行星低代码平台集成到钉钉后,只要使用钉钉账户登录钉钉客户端,即可在钉钉中直接使用管理后台&#…...

MyBatis使用教程详解<下>
回顾上一篇博文,我们讲了如何使用注解/XML的方式来操作数据库,实际上,一个Mapper接口的实现,这两种方式是可以并存的. 上一篇博文中,我们演示的都是比较简单的SQL语句,没有设计到复杂的逻辑,本篇博文会讲解复杂SQL的实现及一些细节处理.话不多说,让我们开始吧. 一. #{}和${} …...

C++基础 -17-继承中 基类与派生构造和析构调用顺序
首先声明 定义了派生类会同时调用基类和派生的构造函数 定义了派生类会同时调用基类和派生的析构函数 那么顺序如何如下图 构造由上往下顺序执行 析构则完全相反 #include "iostream"using namespace std;class base {public:base(){cout << "base-bui…...

uniapp实现表单弹窗
uni.showModal({title: 删除账户,confirmColor:#3A3A3A,cancelColor:#999999,confirmText:确定,editable:true,//显示content:请输入“delete”删除账户,success: function (res) {console.log(res)if(res.confirm){if(res.contentdelete){console.log(123123123213)uni.setSto…...
Ajax 是什么? 如何创建一个 Ajax?
Ajax(Asynchronous JavaScript and XML)是一种使用客户端JavaScript发送异步HTTP请求到服务器的技术,以便在不重新加载整个页面的情况下更新部分网页内容。 使用Ajax的原因有很多,以下是其中一些: 改善用户体验&…...

【LeetCode】101. 对称二叉树
101. 对称二叉树 难度:简单 题目 给你一个二叉树的根节点 root , 检查它是否轴对称。 示例 1: 输入:root [1,2,2,3,4,4,3] 输出:true示例 2: 输入:root [1,2,2,null,3,null,3] 输出&#…...

O-Star|再相识
暑去秋来,岁月如梭,几名"O-Star"们已经入职一段时间,在这期间他们褪去青涩,逐渐适应了公司的工作环境和文化,迈向沉稳~ 为了进一步加深校招生之间的交流与了解,提高校招生的凝聚力和…...

最新PHP熊猫头图片表情斗图生成源码
这是一款能生成熊猫头表情斗图的自适应系统源码,无论是在电脑还是手机上都可以正常使用!这个源码集成了搜狗搜索图片接口,可以轻松地一键搜索数百万张图片,并且还包含了表情制作等功能模块。对于一些新站来说,这是一个…...

子虔科技出席2023WAIC“智能制造融合创新论坛”
7月7日,2023世界人工智能大会(WAIC)闵行会场在大零号湾举办。子虔科技联合创始人周洋作为专家嘉宾受邀参与智能制造融合创新论坛大会。会上探讨了工业和制造业数字化转型的机遇、挑战和对策。其中,周洋提到,工业制造业…...

递归算法学习——二叉树的伪回文路径
1,题目 给你一棵二叉树,每个节点的值为 1 到 9 。我们称二叉树中的一条路径是 「伪回文」的,当它满足:路径经过的所有节点值的排列中,存在一个回文序列。 请你返回从根到叶子节点的所有路径中 伪回文 路径的数目。 示例…...

Android端极致画质体验之HDR播放
高动态范围HDR视频通过扩大亮度分量的动态范围(从100cd/m2到1000cd/m2),以及采用更宽的色彩空间BT2020,提供极致画质体验。从Android10开始,支持HDR视频播放。 一、HDR技术 HDR技术标准包括:Dolby-Vision、HDR10、HLG、PQ。支持…...

【Java SE】带你在String类世界中遨游!!!
🌹🌹🌹我的主页🌹🌹🌹 🌹🌹🌹【Java SE 专栏】🌹🌹🌹 🌹🌹🌹上一篇文章:带你走近Java的…...
Android: ListView + ArrayAdapter 简单应用
容器与适配器: http://t.csdnimg.cn/ZfAJ7 activity_main.xml <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas.android.com/apk/res/android"xmlns:app"h…...

前端:实现二级菜单(点击实现二级菜单展开)
效果 代码 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport" content"widthdevice-width, i…...

Spark-java版
SparkContext初始化 相关知识 SparkConf 是SparkContext的构造参数,储存着Spark相关的配置信息,且必须指定Master(比如Local)和AppName(应用名称),否则会抛出异常;SparkContext 是程序执行的入口…...

RabbitMQ消息模型之Work Queues
Work Queues Work Queues,也被称为(Task Queues),任务模型,也是官网给出的第二个模型,使用的交换机类型是直连direct,也是默认的交换机类型。当消息处理比较耗时的时候,可能生产消息…...

vue3+ts 实现时间间隔选择器
需求背景解决效果视频效果balancedTimeElement.vue 需求背景 实现一个分片的时间间隔选择器,需要把显示时间段显示成图表,涉及一下集中数据转换 [“02:30-05:30”,“07:30-10:30”,“14:30-17:30”]‘[(2,5),(7,10),(14,17)]’[4, 5, 6, 7, 8, 9, 10, …...
PTA 魔法优惠券
7-83 魔法优惠券 分数 25 全屏浏览题目 作者 陈越 单位 浙江大学 在火星上有个魔法商店,提供魔法优惠券。每个优惠劵上印有一个整数面值K,表示若你在购买某商品时使用这张优惠劵,可以得到K倍该商品价值的回报!该商店还免费赠送…...

P8A110-A120经典赛题
Web应用程序SQL Inject安全攻防 任务环境说明: 服务器场景:WebServ2003(用户名:administrator;密码:空)服务器场景操作系统:Microsoft Windows2003 Server 服务器场景安装服务/工…...

文件基础知识
计算机中的流:在C语言中将通过输入/输出设备(键盘、内存、显示器、网络等)之间的数据传输抽象表述为“流”。 1、文本流和二进制流 在文本流中输入输出的数据是一系列的字符,可以被修改在二进制流中输入输出数据是一系列字节&am…...
Java 语言特性(面试系列2)
一、SQL 基础 1. 复杂查询 (1)连接查询(JOIN) 内连接(INNER JOIN):返回两表匹配的记录。 SELECT e.name, d.dept_name FROM employees e INNER JOIN departments d ON e.dept_id d.dept_id; 左…...

K8S认证|CKS题库+答案| 11. AppArmor
目录 11. AppArmor 免费获取并激活 CKA_v1.31_模拟系统 题目 开始操作: 1)、切换集群 2)、切换节点 3)、切换到 apparmor 的目录 4)、执行 apparmor 策略模块 5)、修改 pod 文件 6)、…...

Unity3D中Gfx.WaitForPresent优化方案
前言 在Unity中,Gfx.WaitForPresent占用CPU过高通常表示主线程在等待GPU完成渲染(即CPU被阻塞),这表明存在GPU瓶颈或垂直同步/帧率设置问题。以下是系统的优化方案: 对惹,这里有一个游戏开发交流小组&…...
多场景 OkHttpClient 管理器 - Android 网络通信解决方案
下面是一个完整的 Android 实现,展示如何创建和管理多个 OkHttpClient 实例,分别用于长连接、普通 HTTP 请求和文件下载场景。 <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas…...

UE5 学习系列(三)创建和移动物体
这篇博客是该系列的第三篇,是在之前两篇博客的基础上展开,主要介绍如何在操作界面中创建和拖动物体,这篇博客跟随的视频链接如下: B 站视频:s03-创建和移动物体 如果你不打算开之前的博客并且对UE5 比较熟的话按照以…...
spring:实例工厂方法获取bean
spring处理使用静态工厂方法获取bean实例,也可以通过实例工厂方法获取bean实例。 实例工厂方法步骤如下: 定义实例工厂类(Java代码),定义实例工厂(xml),定义调用实例工厂ÿ…...
Nginx server_name 配置说明
Nginx 是一个高性能的反向代理和负载均衡服务器,其核心配置之一是 server 块中的 server_name 指令。server_name 决定了 Nginx 如何根据客户端请求的 Host 头匹配对应的虚拟主机(Virtual Host)。 1. 简介 Nginx 使用 server_name 指令来确定…...
实现弹窗随键盘上移居中
实现弹窗随键盘上移的核心思路 在Android中,可以通过监听键盘的显示和隐藏事件,动态调整弹窗的位置。关键点在于获取键盘高度,并计算剩余屏幕空间以重新定位弹窗。 // 在Activity或Fragment中设置键盘监听 val rootView findViewById<V…...

vue3+vite项目中使用.env文件环境变量方法
vue3vite项目中使用.env文件环境变量方法 .env文件作用命名规则常用的配置项示例使用方法注意事项在vite.config.js文件中读取环境变量方法 .env文件作用 .env 文件用于定义环境变量,这些变量可以在项目中通过 import.meta.env 进行访问。Vite 会自动加载这些环境变…...

GC1808高性能24位立体声音频ADC芯片解析
1. 芯片概述 GC1808是一款24位立体声音频模数转换器(ADC),支持8kHz~96kHz采样率,集成Δ-Σ调制器、数字抗混叠滤波器和高通滤波器,适用于高保真音频采集场景。 2. 核心特性 高精度:24位分辨率,…...