data(){
appid: "ding3bllyb9vdvdvddshncvdvvvdsnxlx",
redirectUrl: "http://221.7.157577.18:122/login",
apiUrl: "http://localhost:8080/dingTalk/user/dingTalkLogin",
},
mounted() {
const { code } = this.$route.query
if (code) {
this.goDdLogin(code)
} else {
this.ddLoginInit()
}
},
methods: {
ddLoginInit(){
let url = encodeURIComponent(this.redirectUrl);
let appid = this.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}`)
let obj = DDLogin({
id:"login_container",
goto: goto,
style: "border:none;background-color:#FFFFFF;",
width : "100%",
height: "300"
});
let handleMessage = (event) =>{
let origin = event.origin;
console.log('event.data',event.data)
if( origin == "https://login.dingtalk.com" ) {
console.log('event.data',event.data)
let loginTmpCode = event.data;
window.location.href = `https://oapi.dingtalk.com/connect/oauth2/sns_authorize?appid=${appid}&response_type=code&scope=snsapi_login&state=STATE&redirect_uri=${url}&loginTmpCode=${loginTmpCode}`
}
};
if (typeof window.addEventListener != 'undefined') {
window.addEventListener('message', handleMessage, false);
} else if (typeof window.attachEvent != 'undefined') {
window.attachEvent('onmessage', handleMessage);
}
},
goDdLogin(code){
console.log('code',code)
},
}