钉钉dd.ready中不能调用方法解决,钉钉微应用遇到的坑
钉钉dd.ready中不能调用方法解决
获取微应用免登授权码
官方代码:
dd.ready(function() {dd.runtime.permission.requestAuthCode({corpId: _config.corpId, // 企业idonSuccess: function (info) {code = info.code // 通过该免登授权码可以获取用户身份}});
});
code虽然拿到了,但是遇到问题是info.code无法抛出来使用,只能在里面继续访问后台。
其中需要重新定义var axios = require('axios'),不然会报没有定义axios。
例如:
dd.ready(function () {dd.runtime.permission.requestAuthCode({corpId: 'dingd05db47515f6499cbc961a6cb783455b', // 企业idonSuccess: function (info) {console.log("info.code获取没问题")var axios = require('axios')axios.post('/v1/GetUserDetail', { AppCode: info.code }).then(resp => {if (resp && resp.status == 200) {console.log("欢迎" + resp.data.name)});}})}});});
原因是
在JSAPI官方文档中记录说,dd.ready命名空间中采用异步方式,在页面加载时候就先执行dd.ready命名空间中内容,以至于无法加载到页面中其他方法。
解决方法
在获取到code后,访问后台拿到需要用到信息,通过传参数形式,跳转到其他页面解决。
代码:
var axios = require('axios')axios.post('/v1/GetUserDetail', { AppCode: info.code }).then(resp => {if (resp && resp.status == 200) {console.log("欢迎" + resp.data.name)var params_name = resp.data.nameif (params_name == '') {params_name = '未获取姓名'}that.$router.push({ name: 'orderingAdd', params: { name: params_name } });}
})
钉钉dd.ready中不能调用方法解决,钉钉微应用遇到的坑相关推荐
- php中接口调用方法的区别,phpcms常用接口调用方法
1.phpcms可视化编辑器的调用方法 需要用到editor函数,editor($textareaid = 'content', $toolbar = 'phpcms', $width = 500, ...
- ASP.NET 2.0 AJAX中Webservice调用方法示例
ASP.NET 2.0 AJAX中能够在客户端js中很方便地调用服务器Webservice,以下为一些调用的示例.笔者安装的ASP.NET 2.0 AJAX 版本为AJAX November CTP. ...
- java如何连接rfid_Java + Uno + RFID:java中的调用方法读取rfid
我有一个问题,我可以将其他类的方法调用到我的JFrame 这是我在这个论坛中从其他人那里得到的方法课 /* * To change this license header, choose Licens ...
- GS01创建信息集及其他GROUP在ABAP程序中的调用方法
1.函数'G_SET_GET_ALL_VALUES'使用 实例 DATA: t_set_values TYPE TABLE OF rgsb4. DATA: wa_set_values LIKE LIN ...
- java 在主方法中定义两个变量 调用方法进行加10_计算机考试二级考试Java模拟试题附答案...
全国计算机等级考试二级考试,需要考生在考前做好足够的复习准备,下面小编为大家带来计算机考试二级考试Java模拟试题,供各位考生练习! 计算机考试二级考试Java模拟试题一 1.类Test1定义如下:p ...
- Android的onDestroy方法,Android编程之Activity中onDestroy()调用分析
本文分析了Android编程之Activity中onDestroy()调用方法.分享给大家供大家参考,具体如下: 刚刚一个BUG让我发现,如果 activity 实现了一个回调接口,然后使用 this ...
- window.addeventlistener 不能调用方法_Java入门第十四课:如何定义”方法“
第十四课,学习定义方法.一个对象包含三种最常见的成员:构造器.Field和方法.Field用于定义状态数据,而方法是行为特征的抽象. 那么什么是方法呢? 在Java中,方法就是用来完成解决某件事情或实 ...
- 01-第一章 Java开发中通用的方法和准则
建议1:不用在常量和变量中出现易混淆的字母 包括名全小写,类名首字母全大写,常量全部大写并用下划线分割,变量采用驼峰命名法(Camel Case)命名等. 例如: package com.compan ...
- C#获取当前堆栈的各调用方法列表
在使用.NET编写的代码在debug时很容易进行排查和定位问题,一旦项目上线并出现问题的话那么只能依靠系统日志来进行问题排查和定位,但当项目复杂时,即各种方法间相互调用将导致要获取具体的出错方法或调用 ...
最新文章
- 大数据开发源码视频今日免费送!
- setInterval和setTimeout的区别
- 商越加入阿里云原生合作伙伴计划,共创智慧采购新生态
- 【CTR模型】TensorFlow2.0 的 DCN(Deep Cross Network) 实现与实战(附代码+数据)
- python 把多个list合并为一个并去重内容_110道Python面试题(上)
- java网络通信:伪异步I/O编程(PIO)
- 随机游走问题的神奇应用(二)
- 排查DHCP(动态获取IP)服务器故障的经验 (好文推荐)
- 关于ArcGIS的一些基础知识
- python做服务器有优缺点_python做服务器优劣
- eda交通灯控制器波形输入_EDA实验报告实验四:交通灯控制器设计
- 基于PG与PostGIS搭建实时矢量瓦片服务
- access open 知乎_必备技能!国际汇款SCI Open Access费用
- 高铁盈利地图:东部赚翻 中西部普遍巨亏
- 联想笔记本怎么把计算机移到桌面上,怎样把软件移到桌面上
- 使用 VMware Server 在 Linux 上安装 Oracle RAC 10g
- python 云服务器 网站
- MAD 最新技能图谱送给大家,收藏再学~
- 机械学习十大经典算法
- springboot毕设项目4S店汽车售后服务管理系统14nmm(java+VUE+Mybatis+Maven+Mysql)
热门文章
- (zzulioj1007)鸡和兔关在一个笼子里,鸡有2只脚,兔有4只脚,没有例外。已知现在可以看到笼子里m个头和n只脚,求鸡和兔子各有多少只
- JSP/Servlet临汾天泰学习笔记(一)
- 干前端的,拿到30K月薪真的很难吗?
- Java 图片转Base64以及反转
- 【ParaView教程】1.1 发展和筹资
- “我们的开源项目”发起人、息壤开源社区共同创始人——程旭文专访
- 电脑更新系统时间显示rpc服务器不可用,电脑系统时间同步更新时提示“RPC服务器不可用”解决办法...
- P5:用统一的NLP框架建模推荐系统问题
- win10微信公众号视频打不开的解决办法
- 服务器cpu 爆满问题排查