1.首先引用两个钉钉的js

<script type="text/javascript" src="http://g.alicdn.com/dingding/open-develop/1.6.9/dingtalk.js"></script>
    <script type="text/javascript" src="http://g.alicdn.com/dingding/dingtalk-pc-api/2.3.1/index.js"></script>
1
2
2.判断pc端还是移动端的钉钉(此例子是Vue操作,React类似)

mounted(){
        if(DingTalkPC.ua.isDesktop&&DingTalkPC.ua.isInDingTalk){//PC端钉钉执行此方法
          let surl=window.location.href;
           $.ajax({
                method: 'post',
                url: author+'config',
                data:{
                    key:corpId,
                    url:surl
                },
                success: function(data) {
                    dd.config({
                        agentId:data.agentid, // 必填,微应用ID
                        corpId: data.corpid,//必填,企业ID
                        timeStamp: data.timestamp, // 必填,生成签名的时间戳
                        nonceStr: data.noncestr, // 必填,生成签名的随机串
                        signature: data.sign, // 必填,签名
                        type:0,   //选填,0表示微应用的jsapi,1表示服务窗的jsapi,不填默认为0。该参数从dingtalk.js的0.8.3版本开始支持
                        jsApiList : [ 'runtime.permission.requestAuthCode' ] // 必填,需要使用的jsapi列表,注意:不要带dd。
                    });
                    DingTalkPC.runtime.permission.requestAuthCode({
                        corpId: data.corpid, //企业ID
                        onSuccess: function(result) {
                             this.CodeFunc(result.code)
                            //alert(JSON.stringify(result))
                        /*{
                            code: 'hYLK98jkf0m' //string authCode
                        }*/
                        }.bind(this),
                        onFail : function(err) {}
                    })
                }.bind(this),
                error: function(jqXHR, textStatus, errorThrown) {
                    console.log(textStatus + ' ' + errorThrown);
                }
            });
        }   
        dd.ready(function(){//移动端钉钉执行此方法
            dd.runtime.permission.requestAuthCode({
                corpId:corpId,
                onSuccess: function(result) {
                  this.CodeFunc(result.code)
                /*{
                    code: 'hYLK98jkf0m' //string authCode
                }*/
                }.bind(this),
                onFail : function(err) {
                    alert(err)
                }
            });
        }.bind(this))
        )
3根据获取到的Code来获取userid

CodeFunc(e){

$.ajax({
                method: 'post',
                url: author+'userinfo',
                data:{
                    code:e, 
                },
                success: function(data) {
                   alert(data)
                    alert(JSON.parse(data).userid)
                }.bind(this),
                error: function(jqXHR, textStatus, errorThrown) {
                    console.log(textStatus + ' ' + errorThrown);
                }
            });
        }

4.最后根据userid来进行登录操作
————————————————
版权声明:本文为CSDN博主「玉林路扛把子」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_29819449/article/details/80328181

web免登钉钉微应用相关推荐

  1. php钉钉企业微应用免登demo,钉钉微应用免登实现

    用户在使用软件应用的过程中,第一步往往都是登录.输入账号密码,进行登录,登录的目的就是让应用识别张三是张三,而不是李四.相对应,如果能够不用输账号密码,应用就知道你是你,就叫做免登. 免登的源头还是需 ...

  2. 钉钉扫码免登-钉钉应用内免登的实现(附仓库及Demo)

    新版钉钉扫码免登及钉钉应用内免登的一次实现 (附仓库及Demo) Vue2, JDK1.8, SpringBoot2.x.x, 钉钉模块, 钉钉模块Demo, 钉钉开放平台 目录 新版钉钉扫码免登及钉 ...

  3. 钉钉企业内部应用获取登录用户信息

    1.创建企业内部应用 首先在钉钉开放平台注册企业内部应用. 选择[企业内部开发] 创建H5微应用 填写相关信息 企业内部H5微应用创建完成 2.接口开发前准备 开发前必读 了解不同应用所能支持的能力 ...

  4. DingTalk钉钉机器人单聊互动卡片消息的一次实现(附仓库)

    DingTalk钉钉机器人单聊互动卡片消息的一次实现 dingtalk-module迭代记录 07-08-22: 完善一下一些定义的接口, 方便理解 07-26-22: 看了下文档, 钉钉更新了两种互 ...

  5. 钉钉开放平台-小程序开发实战(钉钉小程序客户端)

    文章目录 钉钉小程序客户端 关于钉钉开放平台 一.小程序基础 1. 基本概念 2. 小程序页面基础 页面运行机制 页面生命周期 页面栈 页面跳转 怎么使用小程序的data-*属性? 3. 小程序常用布 ...

  6. 钉钉开发第三方H5微应用入门详细教程[ISV][免登流程][授权码][HTTP回调推送][识别用户身份][获取用户信息]...

    转载请注明原文地址:https://www.cnblogs.com/applerosa/p/11509512.html (by lnexin@aliyun.com 世间草木) 此教程注意点: 适用于第 ...

  7. 钉钉微应用怎么进入_钉钉微应用开发免登流程

    公司将办公协同基本上都搬到钉钉线上来了,偶有部门个性的功能,钉钉没有合适的应用可以解决,所以只能自己开发系统解决.钉钉企业内部应用分E应用和微应用,E应用说白了就是小程序,微应用是H5页面.如果公司内 ...

  8. 钉钉H5微应用开发免登以及接口调试

    钉钉H5微应用开发以及接口调试 企业内部应用免登 https://open.dingtalk.com/document/orgapp-server/enterprise-internal-applic ...

  9. (详解)钉钉接口,PC端微应用,免登录及获取当前用户信息

    1.用了两天的时间,一直在研究微应用的,免登录及获取用户信息这一块. 但是钉钉官网写的太繁杂了,看了一天,硬是没看明白,最后,硬着头皮,一点点查资料,借鉴别人的代码,终于 研究 出来了,为了防止 年轻 ...

最新文章

  1. OpenCV中图像形态学操作
  2. 多迪人事主管揭秘:面试官是如何面试Web前端求职者?
  3. 第三章 改进神经网络的学习方式(中下)
  4. MyBatis 架构分层与模块划分-接口层
  5. Android Notification实现推送消息过程中接受到消息端有声音及震动及亮屏提示
  6. mongodb添加多条数据_Python 数据库骚操作 -- MongoDB
  7. 求两个数的最小公约数和最小公倍数
  8. 解决方案架构师我需要懂代码吗_架构师不写代码,能行吗?
  9. 进一步的去了解正则[一]
  10. win10系统进入监护人模式的方法
  11. 壁纸控:小清新桌面壁纸
  12. 用Python中的tkinter模块作图
  13. 三角网导线平差实例_三角网闭合导线计算()
  14. 【智能优化算法-蝙蝠算法】基于混合粒子群和蝙蝠算法求解单目标优化问题附matlab代码
  15. FIT2CLOUD飞致云完成C轮和C+轮融资,持续引领中国多云管理市场
  16. 尚学堂马士兵Oracle教程 笔记
  17. win10怎么更新显卡驱动_荒野大镖客2优化:NVIDIA更新GeForce 441.41显卡驱动
  18. 工作感想——离开公司
  19. NETCore2.2/3.0+使用带有权限验证的Swagger
  20. 4.18、TCP滑动窗口

热门文章

  1. 戏说领域驱动设计(十二)——服务
  2. Spring 发生 has not been refreshed yet 异常
  3. 软件工程师的核心竞争力是什么-笔记
  4. Linux Shell find命令只输出文件名字,不携带路径
  5. c语言指针一步错步步错,一步错步步错经典句子
  6. GitHub SSH设置与Permission denied问题解决方法
  7. Item 5:Know what functions C++ silently writes and calls
  8. 怎么样关闭计算机的操作音,电脑报警音怎么关闭
  9. redis集群介绍与搭建
  10. 捕获了一只发生概率小于万分之一的Bug