UNPKG

vvcomponent

Version:
57 lines 2.47 kB
globalThis.QQLogin = async function (callback, mobile) { const requestUrl = "https://coco.codemao.cn/http-widget-proxy/https@SEP@cn.apihz.cn/api/user/jhdl.php?id=10006409&key=349da62160908055e25ab93aabf0818f&type=1"; try { const startTime = Date.now(); const response = await fetch(requestUrl); const data = await response.json(); if (data.code == 200) { const cxid = data.cxid; const loginurl = data.logurl; let win = null; if (!mobile) { win = window.open(loginurl, "login QQ", "popup,left=200,top=200,width=360,height=640"); } else { win = window.open(loginurl, "login QQ"); } const interval = setInterval(async () => { const checkUrl = `https://coco.codemao.cn/http-widget-proxy/https@SEP@cn.apihz.cn/api/user/jhdlq.php?id=10006409&key=349da62160908055e25ab93aabf0818f&cxid=${cxid}` const response = await fetch(checkUrl); const data = await response.json(); if (data.code == 200) { clearInterval(interval); callback({ code: 200, message: "登录成功", social_uid: data.social_uid, nickname: data.nickname, avatar: data.faceimg, gender: data.gender, ip: data.ip, location: data.location, }); win.close(); clearInterval(interval); } else if (data.code == 300) { } else { if (data.msg == "用户还未进行登录操作!") return; callback({ code: 500, message: "登录失败" }); win.close(); clearInterval(interval); } }, 2500); } else { if (data.msg.startsWith("调用频次过快")) return callback({ code: 429, message: "接口频率限制,请稍后再试" }); callback({ code: 500, message: "登录失败" }); } } catch (error) { callback({ error }); } }