开发钉钉微应用,实现免登+调试
1.创建h5微应用
https://open.dingtalk.com/document/orgapp/develop-org-h5-micro-applications
根据里面的三个步骤,创建h5微应用
2.免登之前必须要先进行JSAPI的授权
文档说明:
https://open.dingtalk.com/document/orgapp/jsapi-authentication
根据文档中的说明
步骤1,2后端请求钉钉接口
步骤3,提供一些数据(url: location.href.split(‘#’)[0])
步骤4,后端生成签名
步骤5,引入js
步骤6,根据后端接口数据,返回dd.config参数
步骤7,调用dd里面的接口
● dd.config中所有的参数必须直接来自服务端,不能直接在前端定义。
● 一个页面只需要调用一次dd.config即可,重复调用会复用第一次调用的参数,单页应用(SPA)的router切换视为同一个页面。
3.免登操作
文档说明:
https://open.dingtalk.com/document/orgapp/logon-free-process
企业id获取

微应用id

通过该免登授权码可以获取用户身份,就可以通过后端接口去获取该用户信息了
- 前端通过sdk访问dd.runtime.permission.requestAuthCode,获取免登授权码;
- 通过接口传递免登授权码给后端,后端调用钉钉提供的公共接口,获取access_token, 获取用户的userid, 获取用户详情; 文档链接
- 调用sdk接口之前,有些需要鉴权,有些不需要鉴权,具体查看文档链接
- JSAPI鉴权
- 鉴权步骤中,步骤1,2,3,4为后端操作;
- 前端直接调用钉钉公共接口,会跨域请求
- 未鉴权前调用JSAPI中需要鉴权的接口,接口会报错
4.调试问题
开发过程中,肯定避免不了调试,但是调用钉钉提供的api(比如dd.config),必须要在钉钉环境内进行

官方文档也有调试的工具,文档如下:
https://open.dingtalk.com/document/resourcedownload/local-development-tools-for-microapplications
但是尝试过,还是报错

后面我就不使用这个调试工具,而是用vconsole这个工具(https://github.com/Tencent/vConsole)
这个用于调试移动端的开发工具,只是要特别注意,在生产环境,要隐藏掉
这个时候页面上会出现一个Vconsole绿色的小按钮,点击之后,可以充当浏览器的控制台输出了
然后我们需要配置开发管理
协议+ip地址+端口号

然后点击发布,选择部分员工,只有你可见

在PC端的钉钉工作台就能看到这个微应用了,你也可以正常调用钉钉接口,且在钉钉环境内了
相关文章:
开发钉钉微应用,实现免登+调试
1.创建h5微应用 https://open.dingtalk.com/document/orgapp/develop-org-h5-micro-applications 根据里面的三个步骤,创建h5微应用 2.免登之前必须要先进行JSAPI的授权 文档说明: https://open.dingtalk.com/document/orgapp/jsapi-authentication 根据文档中的说明 步骤…...
0308java基础-注解,反射
一,注解 1.什么是注解: Annotation是从jdk5.0开始引入的新技术作用: 不是程序本身,可以对程序作出解释可以被其他程序读取格式: 以注释名在代码中存在,还可以添加一些参数值SuppressWarnings(value"…...
【鸿蒙应用ArkTS开发系列】- 页面跳转及传参
先看下效果图 大致实现的功能点: 从Indext页面跳转到Second页面,传递两个参数,一个字符串,一个数量;Second获取Index页面传递的数据;Second页面点击返回弹窗;Second页面返回携带参数数据&#…...
StringBuilder 类
Java StringBuilder类是一个可变字符串缓冲区,它提供了丰富的方法可以方便地进行字符串操作。与Java StringBuffer类类似,Java StringBuilder类的主要作用是优化字符串的拼接操作,提高代码的效率。在本篇文章中,我们将详细介绍Jav…...
kubectl-k8s用户切换
kubernetes默认使用$HOME/.kube/config配置文件。可以在配置文件中定义多个USER和Cluster的上下文。所以就有两种方式切换用户同一个config中,切换不同用户上下文切换不同的config配置文件同config切换不同用户上下文查看config文件kubeconfig config view查看当前上…...
【面试题】三道面试题让你掌握JavaScript中的执行上下文与作用域以及闭包
前言大厂面试题分享 面试题库前后端面试题库 (面试必备) 推荐:★★★★★地址:前端面试题库大家好,笔者呢最近再回顾JavaScript知识时,又看到了JavaScript的一些较为常见的内容,仔细看了之后发现…...
计算机网络-- 应用层(day08)
计算机网络两种方式 网络应用程序运行再处于网络边缘的不同端系统上,通过彼此间的通信来共同完成某项任务。 开发一种新的网络应用首先要考虑的问题就是网络应用程序在各种端系统上的组织方式和它们之间的关系。 目前流行的主要有以下两种: 客户/服务器…...
English Learning - L2-5 英音地道语音语调 弹力双元音 [ɪə] [ʊə] [eə] 2023.03.6 周一
English Learning - L2-5 英音地道语音语调 弹力双元音 [ɪə] [ʊə] [eə] 2023.03.6 周一朗读节奏元音的长度元音发音在清辅音和浊辅音前的区别元音发音跟后面浊辅音节数的区别元音在重读音节中复习大小元音发音对比/ʌ/ 舌中音/ɒ/ 舌后音/ʊ/ 舌后音/ɪ/ 舌前音[ɑ:] VS […...
SpringBoot——统一功能处理
处理登陆拦截 上一片博客中讲到SpringAOP可以对页面进行拦截,我们可以用SpringAOP实现对登陆的拦截 但是由于拦截需要HttpSession对象,并且之后还需要页面重定向,因此在实际应用中,并不用SpringAOP进行登陆拦截,而是…...
ORACLE SQL格式化小数点
ORACLE SQL格式化小数点 select CONCAT(TO_CHAR(0.00100,‘990.999’),‘%’) as a0 , CONCAT(TO_CHAR(1100,‘990.999’),‘%’) as a1 , CONCAT(TO_CHAR(0.236100,‘990.999’),‘%’) as a2 , CONCAT(TO_CHAR(0.0200100,‘990.999’),‘%’) as a3 , CONCAT(TO_CHAR(1.0310…...
【信息学奥数】—— 第一部分 C++语言 知识总结
【信息学奥数】—— 第一部分 C语言 知识总结C语言一、C语言入门二、顺序结构程序设计运算符和表达式常量和变量标准数据类型数据输入输出三、控制结构程序设计if语句switch语句四、循环结构程序设计for语句while语句do-while语句五、数组一维数组二维数组字符数组六、函数七、…...
video层级过高,以及界面使用多个video时,在安卓APP上同时播放的问题(uniapp)
1、video层级过高的问题 问题一: 我的界面由于是自定义导航栏,所以使用video时,上滑界面video会直在最上层,盖着 头部导航栏 解决方法:使用cover-view,自定义头部使用cover-view替换view 问题二:自定义…...
C++基础了解-14-C++ 字符串
C 字符串 一、C 风格字符串 C 风格的字符串起源于 C 语言,并在 C 中继续得到支持。字符串实际上是使用 null 字符 \0 终止的一维字符数组。因此,一个以 null 结尾的字符串,包含了组成字符串的字符。 下面的声明和初始化创建了一个 RUNOOB …...
浅谈几种网络攻击及攻防原理
HTTP Flood攻击 https://zhuanlan.zhihu.com/p/337399808 HTTP Flood攻击是针对Web服务在第七层协议发起的攻击。第七层主要是应用层,是一些终端的应用,比如(各种文件下载)、浏览器、QQ等,可以将其理解为在电脑屏幕上可…...
Kafka消息中间件(Kafka与MQTT区别)
文章目录KafkaKafka重要原理Topic 主题Partition 分区Producer 生产者Consumer 消费者Broker 中间件Offset 偏移量Kafka与mqtt区别Kafka Kafka是一个分布式流处理平台,它可以快速地处理大量的数据流。Kafka的核心原理是基于发布/订阅模式的消息队列。Kafka允许多个…...
Go垃圾回收原理
术语介绍 赋值器:说白了就是你写的程序代码,在程序的执行过程中,可能会改变对象的引用关系,或者创建新的引用。 回收器:垃圾回收器的责任就是去干掉那些程序中不再被引用得对象。 STW:全称是stop the word,GC期间某个阶段会停止…...
Coredump-N: stack 空间被临时变量吃满,导致内存访问出现问题
文章目录 代码寄存器汇编代码 int main() {fun(0); #define S 0x0019fd08UL 、、 乘5 等0x81F128 char buff4[S]; char buff3[S]; char buff2[S]; char buff1[S]; char buff[S]; memset(buff, 0, sizeof(buff)); memset(buff4, 0, sizeof(buff)); memset(buff3, 0, sizeof(buf…...
GO中使用viper读取配置文件
文章目录 viper的使用例子一:例子二:viper的使用 viper的源码地址https://github.com/spf13/viper,它是一个可以用来读取配置文件的工具。在项目中可以通过下面指令安装: go get github.com/spf13/viper 下面我们通过两个例子,来介绍一下viper在项目中应该如何使用…...
webpack dll 提升构建速度
DLL,动态链接库(Dynamic Link Library 或者 Dynamic-link Library),由微软公司提出。目的是为了节约应用程序所需的磁盘和内存空间。 在一个传统的非共享库中,如果两个程序调用同一个子程序,就会出现两份那…...
C++面向对象编程之三:初始化列表、类对象作为类成员、静态成员
初始化列表C提供了初始化列表语法,可以用于成员属性初始化。语法规则:无参构造函数():属性1(值1), 属性2(值2), ... { }有参构造函数(形参1, 形参2, ...):属性1(形参1), 属性2(形参2), ... { }example:写一个怪物类,有怪物id和血量…...
React 第五十五节 Router 中 useAsyncError的使用详解
前言 useAsyncError 是 React Router v6.4 引入的一个钩子,用于处理异步操作(如数据加载)中的错误。下面我将详细解释其用途并提供代码示例。 一、useAsyncError 用途 处理异步错误:捕获在 loader 或 action 中发生的异步错误替…...
springboot 百货中心供应链管理系统小程序
一、前言 随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,百货中心供应链管理系统被用户普遍使用,为方…...
【Oracle APEX开发小技巧12】
有如下需求: 有一个问题反馈页面,要实现在apex页面展示能直观看到反馈时间超过7天未处理的数据,方便管理员及时处理反馈。 我的方法:直接将逻辑写在SQL中,这样可以直接在页面展示 完整代码: SELECTSF.FE…...
基于ASP.NET+ SQL Server实现(Web)医院信息管理系统
医院信息管理系统 1. 课程设计内容 在 visual studio 2017 平台上,开发一个“医院信息管理系统”Web 程序。 2. 课程设计目的 综合运用 c#.net 知识,在 vs 2017 平台上,进行 ASP.NET 应用程序和简易网站的开发;初步熟悉开发一…...
无法与IP建立连接,未能下载VSCode服务器
如题,在远程连接服务器的时候突然遇到了这个提示。 查阅了一圈,发现是VSCode版本自动更新惹的祸!!! 在VSCode的帮助->关于这里发现前几天VSCode自动更新了,我的版本号变成了1.100.3 才导致了远程连接出…...
python爬虫:Newspaper3k 的详细使用(好用的新闻网站文章抓取和解析的Python库)
更多内容请见: 爬虫和逆向教程-专栏介绍和目录 文章目录 一、Newspaper3k 概述1.1 Newspaper3k 介绍1.2 主要功能1.3 典型应用场景1.4 安装二、基本用法2.2 提取单篇文章的内容2.2 处理多篇文档三、高级选项3.1 自定义配置3.2 分析文章情感四、实战案例4.1 构建新闻摘要聚合器…...
DeepSeek 技术赋能无人农场协同作业:用 AI 重构农田管理 “神经网”
目录 一、引言二、DeepSeek 技术大揭秘2.1 核心架构解析2.2 关键技术剖析 三、智能农业无人农场协同作业现状3.1 发展现状概述3.2 协同作业模式介绍 四、DeepSeek 的 “农场奇妙游”4.1 数据处理与分析4.2 作物生长监测与预测4.3 病虫害防治4.4 农机协同作业调度 五、实际案例大…...
重启Eureka集群中的节点,对已经注册的服务有什么影响
先看答案,如果正确地操作,重启Eureka集群中的节点,对已经注册的服务影响非常小,甚至可以做到无感知。 但如果操作不当,可能会引发短暂的服务发现问题。 下面我们从Eureka的核心工作原理来详细分析这个问题。 Eureka的…...
R语言速释制剂QBD解决方案之三
本文是《Quality by Design for ANDAs: An Example for Immediate-Release Dosage Forms》第一个处方的R语言解决方案。 第一个处方研究评估原料药粒径分布、MCC/Lactose比例、崩解剂用量对制剂CQAs的影响。 第二处方研究用于理解颗粒外加硬脂酸镁和滑石粉对片剂质量和可生产…...
上位机开发过程中的设计模式体会(1):工厂方法模式、单例模式和生成器模式
简介 在我的 QT/C 开发工作中,合理运用设计模式极大地提高了代码的可维护性和可扩展性。本文将分享我在实际项目中应用的三种创造型模式:工厂方法模式、单例模式和生成器模式。 1. 工厂模式 (Factory Pattern) 应用场景 在我的 QT 项目中曾经有一个需…...
