es6钉钉h5免登开发前端流程

这是钉钉开放平台的官方文档https://ding-doc.dingtalk.com/doc#/dev/uwa7vs

但是步骤不是很详细,有些东西也找不到是哪里来的。撞南墙撞了好久终于撞出来了

最重要的就是获取到代表用户身份的code,虽然上面明确写着获取微应用免登授权码不需要鉴权,即dd.config,但是试了很久结果还是要鉴权。以下为鉴权的代码

abc = () => {

const newThis=this;     // onSuccess不是箭 头函数,所以需要转一下this

    if (this.state.queryData !==null) {//  queryData是后端传过来的,config里面基本都是后端传过来的值
        const config = {

           agentId:this.state.queryData.agentId,

            corpId:this.state.queryData.corpId,

            timeStamp:this.state.queryData.timeStamp,

            nonceStr:this.state.queryData.nonceStr,

            signature:this.state.queryData.signature,

            jsApiList: [     //这个也南了好久,  jsApiList: ['runtime.info' ]照抄下来就可以

                    'runtime.info',

            ],

        };

// 这是鉴权成功后拿到code的代码 

        dd.runtime.permission.requestAuthCode({
        
        corpId:'*************',     // 企业id,固定值,找后端要一下

        onSuccess(result) {        //  onSuccess里面拿到code,需要存一下在另一个函数用 
        
        const ddCode = result.code;    // result是一个对象 {code : ' ********* ' }

           newThis.setState({          // 存一下
           
             ddCode: result.code,       

                });

                return ddCode;

            },

            onFail(err) {
            
            alert(`dd.config鉴权失败${JSON.stringify(err)}`);

            },

        });

    }else{
    
        alert('提示信息')}};

你可能感兴趣的:(钉钉扫码免登)