嘿嘿,借用官方爸爸的微应用开发思路图,真的很一目了然,从五个鉴权信息开始都是前端的操做了哦。html
第一步,这个地方若是当作通常的数据请求来看,没有什么要说的,用jquery或者zepto的ajax请求均可以很快速实现。就说一下我在这个踩的坑,我在使用ajax异步请求的时候,忽略了异步加载然而同步加载不中止的问题。深刻这个话题我也还须要去学去实践,因此只是简单说明个人问题,后面会提供连接去深刻学习。下面的代码,因为我没实现手机电脑联调,因此只能退而其次用alert测试,见谅。js在加载的时候,会先所有同步顺序加载,可是ajax请求不会影响同步加载,于是,会按照123的alert弹出,而非顺序弹出312。因为的我浅薄理解,致使我后面还没拿到ajax请求到的_config,就开始执行函数DDConfig(_config)配置钉钉,因此一直不弹出任何弹窗。这个问题我开始解决的方案是将这段ajax单独放在一个script标签里面,最早引入,而后再配置钉钉鉴权信息,这个在Android上测试时正常的,然而只是侥幸,iOS不买这个帐。因此使用ajax的complete函数,在这里面执行DDConfig(_config),可看源代码。前端
var _config = null; // 定义全局变量_config,初始值为null,用来接收API获取到的签名信息 var getConfig = $.ajax({ type: 'POST', url: '获取企业签名的API,后台提供', data: { agentId: 109243825, url: '这是你开发微应用页面的线上地址,通常是由钉钉管理员配置的。', }, dataType: 'json', success: function(data){ console.log('---success-post-dingInfo---'); if(data.status){ _config = data.data; alert('3. API获取签名信息:'+JSON.stringify(_config)); // 开始配置钉钉 DDConfig(_config); }else{ alert('请求信息出错'); } }, error: function(data){ console.log(---error-post-dingInfo---); } }); alert('1. API请求开始:'+JSON.stringify(getConfig)); alert('2. 全局输出_config:'+JSON.stringify(_config));
第二步,这里官方给出很详细的步骤钉钉移动jsapi开发,你须要使用的api放进dd.config的jsApiList里面便可。其实钉钉的jsapi思路是这样的。引入dingtalk.js(官方文档有提供)这个js会给你提供一个全局变量dd,你能够在Chrome的控制台打印出来看看是个什么东西,里面能够识别钉钉版本,手机系统,以及提供一个个api。钉钉移动jsapi里面介绍全部的api,分为无需鉴权api和须要鉴权api,无需鉴权api能够再引入dingtalk.js以后全局使用;鉴权api就须要走后端接口以保证安全性,且鉴权经过才可使用这部分api。思路就是这样。jquery
问题2:若是你发现dd.error被执行了,先恭喜你一下,至少你进入钉钉的api了,哈哈哈哈哈哈哈哈。。。git
——好记性不如难笔头。github