import { useCallback, useState } from "react" import React from 'react' import { Col, Row, Radio, Input, Button, message, Space, Image, Modal, Popconfirm } from "antd"; let name = { 0: '小说账号失败列表:', 1: '游戏账号失败列表:', } var time: any = null let api = "http://47.99.157.216:8023" // let api = "http://127.0.0.1:8023" function QQAuth(props: { qqVisible: boolean, callBack: () => void, adAppType: 0 | 1, title: string, smType?: "QQ" | "WX", isOld?: boolean }) { const { qqVisible, callBack, adAppType, smType, title, isOld } = props let [visible, setVisible] = useState(false) let [loading, setLoading] = useState(false) let [codeUrl, setCodeUrl] = useState('') let [err, setErr] = useState({}) let [outTime,setOutTime]=useState(0) let [data, setData] = useState({ userId: localStorage.getItem('userId'), adAppType, users: [], callbackPage: 'http%3A%2F%2Ferp.zanxiangnet.com%2FadCode', authorization: `Bearer ${sessionStorage.getItem('Admin-Token')}`, smType: smType ? "WX" : "QQ", isOld }) let adAppIdonChange = useCallback((checkedValue) => { let v = checkedValue.target.value console.log("checkedValue===>", v) setData({ ...data, adAppType: v }) }, [data]) let submit = useCallback(() => { if (data.users.some(user => isNaN(user))) { message.error('账号请使用数字!!!!!!') return } console.log(data) setLoading(true) fetch(api + '/qq/auth', { method: 'POST', headers: { "content-type": "application/json", }, body: JSON.stringify(data) }).then(res => res.json()).then(r => { if (r?.data?.codeImgUrl) { setCodeUrl(r?.data?.codeImgUrl) setVisible(true) let n = 0 let overTime = data.smType === 'QQ' ? 60 : 240 time = setInterval(() => { if ( n < overTime) { n += 1 fetch(`${api}/qq/isOk?userId=${localStorage.getItem('userId')}&smType=${data.smType}`, { method: 'GET' }).then(res => res.json()).then(r => { if (r.data) { setVisible(false) setCodeUrl("") clearInterval(time) setLoading(false) } }) } else { message.error('扫码超时请重新扫码!') setVisible(false) setCodeUrl("") clearInterval(time) setLoading(false) } setOutTime(overTime-n) }, 1000) } else { message.success('已经开始授权,稍后自行查看结果!如遇到问题请点击清除账号状态按钮重试!') setLoading(false) } console.log(r) }) }, [data]) let query = () => { fetch(`${api}/qq/queryErr?userId=${localStorage.getItem('userId')}`, { method: 'GET' }).then(res => res.json()).then(r => { console.log(r) setErr(r.data) }) } let del = () => { fetch(`${api}/qq/delCookie?userId=${localStorage.getItem('userId')}`, { method: 'GET' }).then(res => res.json()).then(r => { console.log(r) message.success('清理成功!!!!请重新扫码授权登录!!!') }) } let userIdChange = useCallback((e) => { let value = e.target.value let arr = value.split(/,|,/) let newArr = arr?.map((str: string) => Number(str.replace(/\s/ig, ''))) setData({ ...data, users: newArr }) }, [data]) return {title}(如需更换手机扫码请先点击清除账号状态)} >

扫码渠道:

{ setData({ ...data, smType: e.target.value }) }} defaultValue={data.smType}> QQ {!isOld && 微信}

平台选择:

{adAppType === 0 ? 小说 : 游戏}

账号ID:

{ Object.keys(err).map((key, i) => { return

{name[key]}

{err[key]?.join()}

}) }
{ setVisible(false); location.reload() }} maskClosable={false} title={<>{data?.smType === 'QQ' ? "QQ扫码" : "微信扫码"}} >
扫码成功后或超时自动关闭窗口 {outTime > 0 ? outTime : ""}
} export default QQAuth