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. 动态环境下的SLAM:DynaSLAM 论文学习笔记
  2. 【spring基础】spring 官方下载地址
  3. python 爬虫实例 电影-Python爬虫教程-17-ajax爬取实例(豆瓣电影)
  4. 针对测试行业,新人的一些建议:我适合做测试吗?
  5. Windows 10 安装 Docker for Windows
  6. VS2015调试时没有启动IIS Express Web服务器 或者停止调试时 IIS Express 跟着关闭
  7. oracle ko16mswin949,mysql字符集 - osc_wq7ij8li的个人空间 - OSCHINA - 中文开源技术交流社区...
  8. 分压式静态工作点稳定电路
  9. 功能测试-测试定义与原则
  10. VMware 软件被曝其史上最严重的信息泄露漏洞之一,影响大量虚拟机和主机
  11. 华为非对等通信小实验
  12. 怎么用python画风车_小清新风车短教程:10步教你绘制一副插画
  13. 并联机器人自由度计算
  14. js 数组 删除第一个和最后一个
  15. 云杰恒指:8.29恒指期货实盘交易复盘
  16. oracle的跨会话变量,oracle 回话环境变量 userenv ,oracle connetion context 会话环境 连接的会话环境...
  17. C++一周学习总结(2021/05/03)
  18. 2023拼多多店铺分类id
  19. 花儿虽然最终凋零,但是依然开过 ——《花束般的恋爱》影评
  20. nginx(项目部署)linux版

热门文章

  1. 【Redis笔记】发布与订阅
  2. 【PMP】燃起图燃尽图分析
  3. lg kv510 java_LG KV510有风格的3G手机
  4. python抽奖简单小程序游戏_用Python做个年会抽奖小程序吧
  5. android 地铁地图api,利用高德地图api绘制公交+地铁的等时圈
  6. 直播带货后:提升售后服务、复盘直播数据
  7. JS变量的定义和数据类型
  8. java Font 自定义字体
  9. python模拟键盘鼠标操作
  10. Docker Desktop 如何运行第一个 Docker 项目