第一步:用ISV账号在专有钉钉的开放平台创建一个H5应用。

专有钉钉H5微应用开发,个人总结,详细教程

第二步:点击创建的那个H5微应用的详情,进入详情页面。

专有钉钉H5微应用开发,个人总结,详细教程
专有钉钉H5微应用开发,个人总结,详细教程

第三步:在详情页面可以拿到当前应用的appkey和appsecret。

第四步:使用ISV账号登录管理工作台,管理工作台

在管理工作台打开控制台,全局搜索realmId,拿到这个值,前端处理,来进行获取authcode,这个authcode在pc端的时候就叫authcode,在专有钉钉APP中拿到的是code。如下是在H5应用中使用realmId来进行获取code的代码。
	  //npm install gdt-jsapi --save
	  import dd from 'gdt-jsapi';
	  dd.ready(()=>{
      dd.getAuthCode({corpId: realmId}).then(res =>{
        let info = {
          authCode: res.code,
          that: me
        }
        me.$store.dispatch('getDingUser', info).then(res => {
          me.overlayShow = false;
          me.contentShow = true;
          if (me.$route.path === '/zjIndex') {
            me.$router.push('/zj_sjtb');
          }
        }).catch(err=>{
          Dialog.alert({
            message: err.data.msg,
            theme: 'round-button',
            confirmButtonColor: '#1989fa',
          }).then(() => {
            me.overlayShow = false;
          });
        })
      })
    })

第五步:把第四步拿到的code传给后端

dd.ready只有在手机专有钉钉APP中才会调用。在通过realmId拿到code之后,根据自己后端的写法,接下来就是调用一个接口,把这个code传给后端,然后后端用这个code,还有之前从H5应用里边拿到的appkey和appsecret来获取的accessToken,来进行用户信息的获取,用来实现用户免登进入。
比如我的系统里边,调用一个接口,传到后端,然后后端给我返回登录token,用来给免登的用户,调用其它页面接口的时候使用

专有钉钉H5微应用开发,个人总结,详细教程
专有钉钉H5微应用开发,个人总结,详细教程
专有钉钉H5微应用开发,个人总结,详细教程

第六步:怎么把自己写的H5应用放到专有钉钉上呢?怎么跟自己创建的应用进行绑定呢,其实很简单。

在本地调试的话,就是在专有钉钉开放平台中,找到自己要配置的应用,然后把自己的页面地址,直接配置上就行。如下图:

专有钉钉H5微应用开发,个人总结,详细教程这里要注意的是,添加过来的首页地址,必须有获取code的处理逻辑代码。

以上这些步骤主要是前端的处理,后端的代码处理,一个是根据appkey和appsecret,处理获取accesstoken,一个是通过前端传过来的code以及自己处理得到的accesstoken来获取用户信息,进行与自己系统的免登处理。由于本人是做前端的,后端的只是流程了解,代码就不贴出了可以到开发文档中查看

发表回复