1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
| import * as dd from "dingtalk-jsapi"
| import { ddLogin, getUserInfo, getDingdingCorpId } from '@/api/system/common'
| import store from '@/store'
| export function getCode(c, callBack) {
| console.log('dd登录');
| // alert(c);
| dd.ready(() => {
| // alert('companyId2:', c);
| //使用SDK 获取免登授权码
| getDingdingCorpId(c)
| .then(corpid => {
| // alert('CorpId:'+ JSON.parse(JSON.stringify(corpid)));
| dd.runtime.permission.requestAuthCode({
| corpId: corpid,
| onSuccess: (info) => {
| // 根据钉钉提供的api 获得code后,再次调用这个callback方法 process.env.VUE_APP_CORPID
| // 由于是钉钉获取code是异步操作,不知道什么时候执行完毕
| // callback 函数会等他执行完毕后在自己调用自己
| ddLogin(info.code, store.state.companyId)
| .then(res => {
| console.log('dd结果', res)
| getUserInfo()
| .then(userInfo => {
| callBack(userInfo)
| })
| })
| .catch(() => {})
| callBack(info.code)
| },
| onFail: (err) => {
| alert('fail');
| alert(JSON.stringify(err));
| }
| })
| })
| })
| }
|
|