钉钉对接步骤

1.第一步首先项目安装钉钉API
cnpm install dingtalk-jsapi --save
2.在项目中所需要的文件中引入钉钉
import * as dd from 'dingtalk-jsapi';
3.进入页面先检查当前环境是否在钉钉内
if (dd.env.platform != "notInDingTalk") {
	//执行你的代码
}

通过dd.env.platform检查当前是否在钉钉环境下;

检查当前登录状态是否已经登录,若已登录直接跳转到应用内;未登录就调取钉钉接口获取code传给后台换取token

4. 获取企业id并向钉钉服务器获取免密登录所需要的的code
dd.config({//可以通过调用接口获取信息
     agentId: agentId,
     corpId: corpId, //必填,企业ID
     timeStamp: timeStamp, // 必填,生成签名的时间戳
     nonceStr: nonceStr, // 必填,自定义固定字符串。
     signature: signature, // 必填,签名
     jsApiList: ['runtime.permission'],
  })
  dd.error(function(err) {
    alert('dd error: ' + JSON.stringify(err));
  })
  dd.ready(() => {
		// dd.ready参数为回调函数,在环境准备就绪时触发,jsapi的调用需要保证在该回调函数触发后调用,否则无效。
		dd.runtime.permission.requestAuthCode({
			corpId: res.data.corpId,
		onSuccess: (result) => {
			let {
				code
			} = result;
         //通过获取的code请求后台接口获取token登录应用
      }
		onFail: (err) => {
			alert(JSON.stringify(err))
			this.$isResolve()
			}
		});
	})
5 注意点:

1.登录成功后跳转应用内,要关闭当前的页面,否则造成返回无法退出应用的问题
2.在电脑上的钉钉访问H5页面由于屏幕尺寸的问题造成页面布局有些错乱或者拉伸,可以通过放一个html页面在同一域名下,把应用通过iframe展示,
在应用内和html页面通过判断页面尺寸来决定是跳转html还是H5

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐