VUE 实现钉钉扫码登录

1.引入钉钉SDK

在public文件夹下的index.html中引入钉钉SDK

2.初始钉钉登录生成二维码

let url = encodeURIComponent(
                    `${UPLOAD_BASE_URL}/dist/index.html#/login`
);
//这里的url为重定向域名,就是扫码登录后钉钉会带着登录需要的code 跳转到这个地址。

let appid = 'xxxxxxxxxxx'; //你钉钉的appid。

 let goto = encodeURIComponent(`https://oapi.dingtalk.com/connect/oauth2/sns_authorize?appid=${appid}&response_type=code&scope=snsapi_login&state=STATE&redirect_uri=${url});
//在这里将之前的重定向URL跟APPID拼接到地址栏中。

 this.$nextTick(() => {
                    let obj = DDLogin({
                    id: "login_container", //这里需要你在自己的页面定义一个HTML标签并设置id,例如
goto: goto, //请参考注释里的方式 style: "border:none;background-color:#FFFFFF;", width: "100%", //官方参数 生成的iframe的宽度 height: "300" //官方参数 生成的iframe的高度 }); }); //最后生成钉钉登录的二维码会以iframe的形式嵌入到容器#login_container中。

VUE 实现钉钉扫码登录_第1张图片

这时候二维码就生成成功了。

3.获取code发起登录 

扫码确认登录后,钉钉会带着code重定向到我们之前指定的地址。

 mounted() {
           
            const {
                code
            } = this.$route.query;
          
            if (code) {
                this.QRLogin(code); //拿到code 向后端发起登录
            }
}

你可能感兴趣的:(vue.js,前端,javascript)