Commit 74e86800 authored by ganjingcun's avatar ganjingcun

add login and logout

parent 03d1c8cd
...@@ -7,6 +7,7 @@ ...@@ -7,6 +7,7 @@
"OperationSystem": "Operation System", "OperationSystem": "Operation System",
"Home": "Home", "Home": "Home",
"BBS": "Community", "BBS": "Community",
"DataBase": "DataBase",
"Download": "Download", "Download": "Download",
"CardTitle1": "Enter the Doujin World", "CardTitle1": "Enter the Doujin World",
"CardTitle2": "For all Doujin Believers", "CardTitle2": "For all Doujin Believers",
......
...@@ -286,13 +286,13 @@ export default class App extends Component { ...@@ -286,13 +286,13 @@ export default class App extends Component {
<h2>代表作品</h2> <h2>代表作品</h2>
<div id="apps"> <div id="apps">
<div class="row"> <div className="row">
<a target="_blank" href="ygopro.html"><img alt="ygopro" src={require('../public/ygopro_1.jpg')} /></a> <a target="_blank" href="ygopro.html"><img alt="ygopro" src={require('../public/ygopro_1.jpg')} /></a>
<a target="_blank" href="ozns.html"><img alt="OZ大乱斗NS" src={require('../public/ozns_1.jpg')} /></a> <a target="_blank" href="ozns.html"><img alt="OZ大乱斗NS" src={require('../public/ozns_1.jpg')} /></a>
<a target="_blank" href="eddyviolet.html"><img alt="Eddy紫" src={require('../public/eddyviolet_1.jpg')} /></a> <a target="_blank" href="eddyviolet.html"><img alt="Eddy紫" src={require('../public/eddyviolet_1.jpg')} /></a>
<a target="_blank" href="df02.html"><img alt="东方龙隐谈" src={require('../public/df02_1.jpg')} /></a> <a target="_blank" href="df02.html"><img alt="东方龙隐谈" src={require('../public/df02_1.jpg')} /></a>
</div> </div>
<div class="row"> <div className="row">
<a target="_blank" href="ygopro.html"><img alt="ygopro" src={require('../public/ygopro_2.jpg')} /></a> <a target="_blank" href="ygopro.html"><img alt="ygopro" src={require('../public/ygopro_2.jpg')} /></a>
<a target="_blank" href="ozns.html"><img alt="OZ大乱斗NS" src={require('../public/ozns_2.jpg')} /></a> <a target="_blank" href="ozns.html"><img alt="OZ大乱斗NS" src={require('../public/ozns_2.jpg')} /></a>
<a target="_blank" href="eddyviolet.html"><img alt="Eddy紫" src={require('../public/eddyviolet_2.jpg')} /></a> <a target="_blank" href="eddyviolet.html"><img alt="Eddy紫" src={require('../public/eddyviolet_2.jpg')} /></a>
......
import React from 'react' import React from 'react'
import { Menu, Icon } from 'antd' import { Menu, Icon } from 'antd'
import { FormattedMessage } from 'react-intl' import { FormattedMessage } from 'react-intl'
import querystring from 'querystring';
import crypto from 'crypto';
export default class Nav_Mobile extends React.Component { export default class Nav_Mobile extends React.Component {
constructor(props) { constructor(props) {
super(props); super(props);
var isLogin = false;
var userName = "";
var user;
var token = querystring.parse(location.search.slice(1)).sso;
if (token) {
localStorage.setItem('token', token);
user = querystring.parse(new Buffer(token, 'base64').toString());
isLogin = true;
userName = user.username;
} else {
token = localStorage.getItem('token');
if (token) {
user = querystring.parse(new Buffer(token, 'base64').toString());
isLogin = true;
userName = user.username;
}
}
this.state = { this.state = {
classMenu: false, classMenu: false,
isLogin: isLogin,
userName: userName
}; };
}
login() {
var payload = new Buffer(querystring.stringify({
return_sso_url: location.href
})).toString('base64');
var request = querystring.stringify({
'sso': payload,
'sig': crypto.createHmac('sha256', 'zsZv6LXHDwwtUAGa').update(payload).digest('hex')
});
location.href = "https://ygobbs.com/session/sso_provider?" + request;
}
logout() {
localStorage.removeItem('token');
// var redirectUrl = "http://localhost:3001/#";
var redirectUrl = "https://mycard.moe/";
this.setState({ isLogin: false });
var request = querystring.stringify({
'redirect': redirectUrl
});
location.href = "https://ygobbs.com/logout?" + request;
} }
menu = () => { menu = () => {
this.setState({ classMenu: !this.state.classMenu }); this.setState({ classMenu: !this.state.classMenu });
} }
render() { render() {
const { isLogin } = this.state
var classMenu = this.state.classMenu; var classMenu = this.state.classMenu;
if (!this.props.isMobile) { if (!this.props.isMobile) {
return ( return (
...@@ -45,31 +95,26 @@ export default class Nav_Mobile extends React.Component { ...@@ -45,31 +95,26 @@ export default class Nav_Mobile extends React.Component {
用户中心 用户中心
</a> </a>
</Menu.Item> </Menu.Item>
{/*<Menu.Item key="#">
<a href="#"> {isLogin ?
客服中心 (<Menu.Item key="5" style={{ float: 'right' }}>
</a> <a onClick={() => this.logout()} >
</Menu.Item> 退出
<Menu.Item key="5"> </a>
<a href="#"> </Menu.Item>) : ("")}
最新资讯
</a> {!isLogin ?
</Menu.Item> (<Menu.Item key="4" style={{ float: 'right' }}>
<Menu.Item key="6"> <a onClick={() => this.login()} >
<a href="#"> 注册 | 登录
创意分享 </a>
</a> </Menu.Item>) :
</Menu.Item> (<Menu.Item key="4" style={{ float: 'right' }}>
<Menu.Item key="7"> <a href="#" >
<a href="#"> Jc1991
最新科技 </a>
</a> </Menu.Item>)}
</Menu.Item>
<Menu.Item key="8">
<a href="#">
学习天地
</a>
</Menu.Item>*/}
</Menu> </Menu>
</div> </div>
); );
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment