对接钉钉免密登录
钉钉对接步骤1.第一步首先项目安装钉钉APIcnpm install dingtalk-jsapi --save2.在项目中所需要的文件中引入钉钉import * as dd from 'dingtalk-jsapi';3.进入页面先检查当前环境是否在钉钉内if (dd.env.platform != "notInDingTalk") {//执行你的代码}通过dd.env.platform检查当前
·
钉钉对接步骤
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
更多推荐
已为社区贡献1条内容
所有评论(0)