Files
Web_BAI_Manage_ApiServer/front-end/src/utils/social.ts

40 lines
1.2 KiB
TypeScript
Raw Normal View History

import qs from 'qs'
import router from '@/router'
let _win: any
let _winTime: any
export function login(url: any, options: any) {
return new Promise((resolve, reject) => {
_win = window.open(`${url}?${qs.stringify(options)}`)
// 以小框的形式打开第三方登录页
// _win = window.open(
// `${url}?${qs.stringify(options)}`,
// '_blank',
// 'location=yes,height=600,width=500,scrollbars=yes,status=yes'
// )
_winTime = setInterval(() => {
if (_win && _win.closed) {
clearInterval(_winTime)
const data = JSON.parse(
localStorage.getItem('socialData') || '{}'
)
localStorage.removeItem('socialData')
// 触发变更通知
if (data) {
resolve(data)
} else {
reject(data)
}
}
}, 200)
})
}
export function callback() {
let data: any = router.currentRoute.value.query
if (JSON.stringify(data) === '{}')
data = qs.parse(document.location.search.slice(1))
localStorage.setItem('socialData', JSON.stringify(data))
}