调整qq登录

issues25489
杨树明 5 years ago
parent d29ce33ca5
commit f220ad378e

@ -9,10 +9,8 @@ class Otherloginqq extends Component {
componentDidMount() { componentDidMount() {
let query=this.props.location.search; let query=this.props.location.search;
if(query!= ""){
}
const type = query.split('?code='); const type = query.split('?code=');
const types = type[1].split('&state=');
let codeurl = `/auth/qq/callback`; let codeurl = `/auth/qq/callback`;
axios.get(codeurl,{params:{ axios.get(codeurl,{params:{
code:type[1], code:type[1],

@ -12,10 +12,29 @@ class AccountSecure extends Component {
super(props) super(props)
this.state = { this.state = {
Modalstype:false, Modalstype:false,
isphone:false
} }
} }
IsPC=()=>{
var userAgentInfo = navigator.userAgent;
var Agents = ["Android", "iPhone",
"SymbianOS", "Windows Phone",
"iPad", "iPod"];
var flag = true;
for (var v = 0; v < Agents.length; v++) {
if (userAgentInfo.indexOf(Agents[v]) > 0) {
flag = false;
break;
}
}
return flag;
}
componentDidMount() {
let flag = this.IsPC(); //true为PC端false为手机端
this.setState({
isphone: flag
})
}
showModal=()=>{ showModal=()=>{
this.setState({ this.setState({
visible: true, visible: true,
@ -64,7 +83,13 @@ class AccountSecure extends Component {
ModalSave:()=>this.Saveundologin(id), ModalSave:()=>this.Saveundologin(id),
}) })
} }
openqqlogin=()=>{
window.location.href=`https://graph.qq.com/oauth2.0/show?which=Login&display=pc&client_id=101508858&redirect_uri=https%3a%2f%2f${window.location.host}%2fotherloginqq&response_type=code`
}
openphoneqqlogin=()=>{
window.location.href=`https://xui.ptlogin2.qq.com/cgi-bin/xlogin?appid=716027609&pt_3rd_aid=101508858&daid=383&pt_skey_valid=0&style=35&s_url=http%3A%2F%2Fconnect.qq.com&refer_cgi=authorize&which=&client_id=101508858&response_type=code&scope=get_user_info&redirect_uri=https%3a%2f%2f${window.location.host}%2fotherloginqq&response_type=code`
}
render() { render() {
let {basicInfo}=this.props; let {basicInfo}=this.props;
@ -152,120 +177,75 @@ class AccountSecure extends Component {
<div className="title">绑定登录账号</div> <div className="title">绑定登录账号</div>
<Form> <Form>
<div className="flexTable"> {/*
<div className="flexTable"> en_type: "qq"
</div> id: 60
nickname: "Sum"
<div className="flexTable"> */}
<div className="flexRow"> {basicInfo===undefined||JSON.stringify(basicInfo) == "{}"?"":basicInfo&&basicInfo.open_users.length===0?"":
<div className="name">
<i className={"iconfont icon-weixin2 weixinlogo mr10"}></i> basicInfo&&basicInfo.open_users.map((item,key)=>{
<span className={"color-ooo"}>微信</span>
</div> return(
<div className="flexTable" key={key}>
<div className="description lineheight60"> <div className="flexTable">
{basicInfo===undefined||JSON.stringify(basicInfo) == "{}"?"":basicInfo&&basicInfo.open_users.length===0?"":<span className={"color-grey-9 ml80"}>{basicInfo===undefined||JSON.stringify(basicInfo) == "{}"?"":basicInfo&&basicInfo.open_users[0].nickname}</span>} <div className="flexRow">
</div> <div className="name">
{item.en_type!="qq"?<i className={"iconfont icon-weixin2 weixinlogo mr10"}></i>:<i className={"iconfont icon-qq qqlogo mr10"}></i>}
{item.en_type!="qq"?<span className={"color-ooo"}>微信</span>:<span className={"color-ooo"}>QQ</span>}
</div>
<div className="description lineheight60">
<span className={"color-grey-9 ml80"}>{item.nickname}</span>
</div>
<div className="status pt19">
{item.en_type!="qq"?<WordsBtn style={ item.id===null?"blue":"colorgrey9"} className={item.id===null?"borderBottom":""}
onClick={
item.id===null?() => this.showModal("wechat"):() => this.undologin("wechat",item.id)
}
>{item.id===null?"绑定":"解绑"}</WordsBtn>:<WordsBtn style={ item.id===null?"blue":"colorgrey9"} className={item.id===null?"borderBottom":""}
onClick={
item.id===null?this.state.isphone===true?() => this.openphoneqqlogin():this.openqqlogin():() => this.undologin("qq",item.id)
}
>{item.id===null?"绑定":"解绑"}</WordsBtn>}
</div>
</div>
</div>
</div>
)
})
}
<div className="status pt19"> </Form>
<WordsBtn style={basicInfo===undefined||JSON.stringify(basicInfo) == "{}"?"":basicInfo&&basicInfo.open_users.length===0?"blue":"colorgrey9"} className={basicInfo===undefined||JSON.stringify(basicInfo) == "{}"?"":basicInfo&&basicInfo.open_users.length===0?"borderBottom":""} <style>
onClick={ {
basicInfo===undefined||JSON.stringify(basicInfo) == "{}"?"":basicInfo&&basicInfo.open_users.length===0 ?() => this.showModal("wechat"):() => this.undologin("wechat",basicInfo===undefined||JSON.stringify(basicInfo) == "{}"?"":basicInfo&&basicInfo.open_users[0].id) `
}
>{basicInfo===undefined||JSON.stringify(basicInfo) == "{}"?"":basicInfo&&basicInfo.open_users.length===0 ?"绑定":"解绑"}</WordsBtn>
</div>
</div>
</div>
<style>
{
`
.ml70{
margin-left: 70px;
}
`
}
</style>
<Modal
closable={false}
footer={null}
visible={this.state.visible}
onOk={this.handleOk}
onCancel={this.handleCancel}
>
<div>
<iframe
className={"weixinheight390 ml70"}
frameBorder="0"
sandbox="allow-scripts allow-same-origin allow-top-navigation"
scrolling="no"
src={`https://open.weixin.qq.com/connect/qrconnect?appid=wx6b119e2d829c13fa&redirect_uri=https%3a%2f%2f${window.location.host}%2fotherloginstart&response_type=code&scope=snsapi_login&state=account#wechat_redirect`}></iframe>
<p className="clearfix pagemancenter">
<a className={"startlogin color-blue"} onClick={()=>this.handleCancel()}>取消</a>
</p>
</div>
</Modal>
</div>
<div className="flexTable">
<div className="flexTable">
</div>
<div className="flexTable">
<div className="flexRow">
<div className="name">
<i className={"iconfont icon-qq qqlogo mr10"}></i>
<span className={"color-ooo"}>QQ</span>
</div>
<div className="description lineheight60">
{basicInfo===undefined||JSON.stringify(basicInfo) == "{}"?"":basicInfo&&basicInfo.open_users.length===0?"":<span className={"color-grey-9 ml80"}>{basicInfo===undefined||JSON.stringify(basicInfo) == "{}"?"":basicInfo&&basicInfo.open_users[0].nickname}</span>}
</div>
<div className="status pt19">
<WordsBtn style={basicInfo===undefined||JSON.stringify(basicInfo) == "{}"?"":basicInfo&&basicInfo.open_users.length===0?"blue":"colorgrey9"} className={basicInfo===undefined||JSON.stringify(basicInfo) == "{}"?"":basicInfo&&basicInfo.open_users.length===0?"borderBottom":""}
onClick={
basicInfo===undefined||JSON.stringify(basicInfo) == "{}"?"":basicInfo&&basicInfo.open_users.length===0 ?() => this.showModal("wechat"):() => this.undologin("wechat",basicInfo===undefined||JSON.stringify(basicInfo) == "{}"?"":basicInfo&&basicInfo.open_users[0].id)
}
>{basicInfo===undefined||JSON.stringify(basicInfo) == "{}"?"":basicInfo&&basicInfo.open_users.length===0 ?"绑定":"解绑"}</WordsBtn>
</div>
</div>
</div>
<style>
{
`
.ml70{ .ml70{
margin-left: 70px; margin-left: 70px;
} }
` `
} }
</style> </style>
<Modal <Modal
closable={false} closable={false}
footer={null} footer={null}
visible={this.state.visible} visible={this.state.visible}
onOk={this.handleOk} onOk={this.handleOk}
onCancel={this.handleCancel} onCancel={this.handleCancel}
> >
<div> <div>
<iframe <iframe
className={"weixinheight390 ml70"} className={"weixinheight390 ml70"}
frameBorder="0" frameBorder="0"
sandbox="allow-scripts allow-same-origin allow-top-navigation" sandbox="allow-scripts allow-same-origin allow-top-navigation"
scrolling="no" scrolling="no"
src={`https://open.weixin.qq.com/connect/qrconnect?appid=wx6b119e2d829c13fa&redirect_uri=https%3a%2f%2f${window.location.host}%2fotherloginstart&response_type=code&scope=snsapi_login&state=account#wechat_redirect`}></iframe> src={`https://open.weixin.qq.com/connect/qrconnect?appid=wx6b119e2d829c13fa&redirect_uri=https%3a%2f%2f${window.location.host}%2fotherloginstart&response_type=code&scope=snsapi_login&state=account#wechat_redirect`}></iframe>
<p className="clearfix pagemancenter"> <p className="clearfix pagemancenter">
<a className={"startlogin color-blue"} onClick={()=>this.handleCancel()}>取消</a> <a className={"startlogin color-blue"} onClick={()=>this.handleCancel()}>取消</a>
</p> </p>
</div>
</Modal>
</div> </div>
</Form> </Modal>
</div> </div>
<div style={{color: '#989898', marginLeft: '20px'}}>* 我们确保你所提供的信息均处于严格保密状态不会泄露</div> <div style={{color: '#989898', marginLeft: '20px'}}>* 我们确保你所提供的信息均处于严格保密状态不会泄露</div>
</div> </div>

Loading…
Cancel
Save