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

462 阅读1分钟

这是钉钉开放平台的官方文档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('提示信息')}};