有关vue 开发的钉钉 H5 微应用 dd.ready() 不执行问题及快速解决方案

最近在做钉钉的免登,npm 安装好 dingtalk-jsapi 后,执行 dd.ready()怎么都不生效。但是判断当前环境是不是 ‘notInDingTalk' 时又是有效的。花了很长时间,一直找不到原因。后来无意中发现别人的代码似乎跟我有一点差异,于是抱着死马当活马医的心态试试,结果真的有效。

废话不多说,原因在于从官网复制的代码里 的匿名函数function(){},在vue开发里是无效的,需要改成 箭头函数 () =>{}
修改之前的:

这个 ‘this.userCode' 是临时修改成用于测试有没有进入 dd.ready() 的,不要在意这些细节。
如果正常的话,this.userCode 应该显示 :“开始执行ready 进入了钉钉 获取授权码成功”但是实际上只显示了:“开始执行ready“修改后:

终于如愿显示授权码了:

贴上代码:

 if (dd.env.platform !== "notInDingTalk") {
  this.userCode += '开始执行ready ';
  //进行钉钉登录操作
  dd.ready(() => {
  this.$Message.info('1')
  this.userCode = '进入了钉钉 ';
  dd.runtime.permission.requestAuthCode({
  corpId: corpId, // 企业id
  onSuccess: (info) => {
   //todo: 测试获取授权码
   this.userCode += " 获取授权码成功 ";
   this.userCode += info.code // 通过该免登授权码可以获取用户身份
  },
  onFail: (error) => {
   this.userCode += " 获取授权码失败 ";
   console.log('好吧,问题不小')
   this.$Message.error(JSON.stringify(error))
  }
  });
  });

总结

到此这篇关于有关vue 开发的钉钉 H5 微应用 dd.ready() 不执行问题及快速解决方案的文章就介绍到这了,更多相关vue 钉钉微应用 dd.ready() 不执行内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 使用java实现“钉钉微应用免登进入某H5系统首页“功能”

    一.前言 哈哈,这是我的第一篇博客. 先说一下这个小功能的具体场景: 用户登录钉钉app,点击微应用,获取当前用户的信息,与H5系统的数据库的用户信息对比,如果存在该用户,则点击后直接进入H5系统的首页,否则显示"您无权限". 补充:又加了一个小需求,就是免登成功,会给该用户发条消息 我是参考钉钉开发文档实现的这个小功能,文档地址:https://ding-doc.dingtalk.com/doc#/serverapi2/clotub 二.准备工作 需要创建一个微应用:https://

  • 有关vue 开发的钉钉 H5 微应用 dd.ready() 不执行问题及快速解决方案

    最近在做钉钉的免登,npm 安装好 dingtalk-jsapi 后,执行 dd.ready()怎么都不生效.但是判断当前环境是不是 'notInDingTalk' 时又是有效的.花了很长时间,一直找不到原因.后来无意中发现别人的代码似乎跟我有一点差异,于是抱着死马当活马医的心态试试,结果真的有效. 废话不多说,原因在于从官网复制的代码里 的匿名函数function(){},在vue开发里是无效的,需要改成 箭头函数 () =>{} 修改之前的: 这个 'this.userCode' 是临时修改

  • 有关vue 开发钉钉 H5 微应用 dd.ready() 不执行问题及快速解决方案

    最近在做钉钉的免登,npm 安装好 dingtalk-jsapi 后,执行 dd.ready()怎么都不生效.但是判断当前环境是不是 'notInDingTalk' 时又是有效的.花了很长时间,一直找不到原因.后来无意中发现别人的代码似乎跟我有一点差异,于是抱着死马当活马医的心态试试,结果真的有效. 废话不多说,原因在于从官网复制的代码里 的匿名函数function(){},在vue开发里是无效的,需要改成 箭头函数 () =>{} 修改之前的: 这个 'this.userCode' 是临时修改

  • 详解使用python3.7配置开发钉钉群自定义机器人(2020年新版攻略)

    最近疫情比较严重,很多公司依靠阿里旗下的办公软件钉钉来进行远程办公,当然了,钉钉这个产品真的是让人一言难尽,要多难用有多难用,真的让人觉得阿里的pm都是脑残才会设计出这种脑残产品,不过吐槽归吐槽,该用还得用,虽然钉钉别的功能很鸡肋,但是机器人这个功能还是让人眼前一亮,属于比较极客的功能,它可以将第三方服务的信息聚合到钉钉群中,实现信息的自动化同步,例如:通过聚合Github.Gitlab等源码管理服务,实现源码更新同步:通过聚合Trello.JIRA等项目协调服务,实现项目信息同步:同事,支持W

  • 基于NodeJS开发钉钉回调接口实现AES-CBC加解密

    钉钉小程序后台接收钉钉开放平台的回调比较重要,比如通讯录变动的回调,审批流程的回调都是在业务上十分需要的.回调接口时打通钉钉平台和内部系统的重要渠道. 但是给回调的接口增加了一些障碍,它需要支持回调的服务器的接口支持AES-CBC加解密.不然无法成功注册或解析内容. 钉钉官方文档中给出了JAVA,PHP,C#的后台SDK和demo,但是却没有Node服务器的代码支持,这让占有率很高的node服务器非常尴尬,难道node就不能作为钉钉平台的回调服务器么 好在钉钉已经开放了其加密算法,可以通过加密流

  • 教你如何使用Python开发一个钉钉群应答机器人

    前提 搭建钉钉应答机器人,需要先准备或拥有以下权限: 钉钉企业的管理员或子管理员(如果不是企业管理员,可以自己创建一个企业,很方便的) 有公网通信地址(内网穿透也可以): 钉钉群机器人开发文档:https://developers.dingtalk.com/document/app/overview-of-group-robots 创建「机器人」应用 登录「钉钉开发者后台」,选择「应用开发」--「企业内部开发」-- 「机器人」 输入好机器人的基本信息之后,就会生成创建一个「钉钉机器人」 我们的后

  • go开发alertmanger实现钉钉报警

    通过自己的url实现alertmanager的钉钉报警 webhook在alertmanger的配置 - name: 'dingding' webhook_configs: - send_resolved: true url: 'http://xxxx:8080/Alert' go实现钉钉报警的程序 package main import ( "bytes" "encoding/json" "fmt" "net/http" &

  • vue实现钉钉的考勤日历

    本文实例为大家分享了vue实现钉钉的考勤日历的具体代码,供大家参考,具体内容如下 直接上效果图,需要再往下看 GitHub地址:vue-calendar-component 由于需要对此组件的样式及功能的扩展,直接复制代码过来修改,开始贴代码,很长很长 慢慢看 checkCalendar.vue(子组件) <style lang="scss" rel="stylesheet/scss"> @media screen and (min-width: 460

  • SpringBoot-Admin实现微服务监控+健康检查+钉钉告警

    基于SpringCloud微服务平台,进行服务实例监控及健康检查,注册中心为eureka,SpringBoot提供了很好的组件SpringBoot Admin,2.X版本直接可以配置钉钉机器人告警. 效果:可以实现eureka注册的实例上线.下线触发钉钉告警.监控我们的服务实例健康检查. 搭建admin-server pom依赖 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="

  • 钉钉小程序web-view内嵌H5页面并实现通信

    目录 前言 1.引入页面 2.在H5页面向钉钉发送消息 3.在钉钉页面向H5发送消息,继而实现双向通信 4.注意 内容调试方式 5.附双向通信全部代码 前言 今天探讨个不太常见的需求,公司需要在钉钉小程序内进行文件的上传,意图打造一个小型云盘,考虑到钉钉的上传大小等有诸多限制,以及数据的安全性,决定在钉钉内使用web-view嵌套H5上传页面,并且在完成上传动作后,需要返回小程序,并执行其他操作. 1.引入页面 在管理端新建页面,同时在钉钉页面使用web-view引入,需要后端配合传入合适的to

随机推荐