jsdd.js 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. /**
  2. * 钉钉jssdk授权
  3. */
  4. js.jssdkddcall = function(bo){
  5. }
  6. js.jssdkstate = 0;
  7. js.ddjsimport = function(funs){
  8. var wxurl = 'https://g.alicdn.com/dingding/open-develop/1.5.1/dingtalk.js';
  9. if(!funs)funs=function(){};
  10. $.getScript(wxurl,function(){
  11. funs();
  12. });
  13. }
  14. //鉴权
  15. js.jssdkdingding = function(qxlist,afe){
  16. if(!afe)js.ddjsimport(function(){
  17. js.jssdkdingding(qxlist, true);
  18. });
  19. if(!afe)return;
  20. var surl= location.href;
  21. if(!qxlist)qxlist= ['runtime.info','device.geolocation.get','biz.util.open','biz.user.get','biz.contact.choose','biz.telephone.call','biz.ding.post'];
  22. var agentid=js.request('agentid');
  23. $.getJSON('api.php?m=login&a=ddsign&url='+jm.base64encode(surl)+'&agentid='+agentid+'',function(ret){
  24. ret = ret.data;//js.getarr(ret);
  25. if(ret.corpId==''|| !ret)return js.jssdkddcall(false);;
  26. js.ddcorpId = ret.corpId;
  27. js.ddqiyeid = ret.qiyeid;
  28. dd.config({
  29. agentId: ret.agentId,
  30. corpId: ret.corpId,
  31. timeStamp:ret.timestamp,
  32. nonceStr: ret.nonceStr,
  33. signature: ret.signature,
  34. jsApiList:qxlist
  35. });
  36. dd.ready(function(){
  37. if(js.jssdkstate==0)js.jssdkstate = 1;
  38. js.jssdkddcall(true);
  39. });
  40. dd.error(function(err){
  41. alert('dd error: ' + JSON.stringify(err));
  42. js.jssdkstate = 2;
  43. js.jssdkddcall(false);
  44. });
  45. });
  46. }