VUE 实现钉钉扫码登录

1.引入钉钉SDK

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

<script src="https://g.alicdn.com/dingding/dinglogin/0.0.5/ddLogin.js"></script>

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,例如<div id="login_container"></div>或<span id="login_container"></span>
                    goto: goto, //请参考注释里的方式
                    style: "border:none;background-color:#FFFFFF;",
                    width: "100%", //官方参数 生成的iframe的宽度
                    height: "300" //官方参数  生成的iframe的高度
                    });
});
//最后生成钉钉登录的二维码会以iframe的形式嵌入到容器#login_container中。

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

3.获取code发起登录 

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

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

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值