import './Header.scss' import React, { Component } from 'react' import PropTypes from 'prop-types' import { connect } from 'react-redux' import { Link } from 'react-router-dom' import { Icon, Layout, Menu, Dropdown, message } from 'antd' import { checkLoginState, logoutActions, loginTypeAction} from '../../actions/login' import { changeMenuItem } from '../../actions/menu' import { withRouter } from 'react-router'; import Srch from './Search/Search' const { Header } = Layout; const MenuUser = (props) => ( { props.user } { props.msg } 退出 ); MenuUser.propTypes={ user:PropTypes.string, msg:PropTypes.string, uid: PropTypes.number, relieveLink:PropTypes.func, logout:PropTypes.func } const ToolUser = (props)=> ( ); ToolUser.propTypes={ user:PropTypes.string, msg:PropTypes.string, uid: PropTypes.number, relieveLink:PropTypes.func, logout:PropTypes.func, groupList: PropTypes.array }; @withRouter class HeaderCom extends Component { constructor(props) { super(props); } static propTypes ={ router: PropTypes.object, user: PropTypes.string, msg: PropTypes.string, uid: PropTypes.number, login:PropTypes.bool, curKey:PropTypes.string, relieveLink:PropTypes.func, logoutActions:PropTypes.func, checkLoginState:PropTypes.func, loginTypeAction:PropTypes.func, changeMenuItem:PropTypes.func, history: PropTypes.object, location: PropTypes.object } linkTo = (e) =>{ this.props.changeMenuItem(e.key); } relieveLink = () => { this.props.changeMenuItem(""); } logout = (e) => { e.preventDefault(); this.props.logoutActions().then((res) => { if (res.payload.data.errcode == 0) { this.props.history.push('/'); this.props.changeMenuItem("/"); message.success('退出成功! '); } else { message.error(res.payload.data.errmsg); } }).catch((err) => { message.error(err); }); } handleLogin = (e) => { e.preventDefault(); this.props.loginTypeAction("1"); } handleReg = (e)=>{ e.preventDefault(); this.props.loginTypeAction("2"); } checkLoginState = () => { this.props.checkLoginState.then((res) => { if (res.payload.data.errcode !== 0) { this.props.history.push('/'); } }).catch((err) => { console.log(err); }) } render () { const { login, user, msg, uid, curKey } = this.props; console.log(curKey); return (
YAPI
项目广场
{login? :""}
) } } export default connect( (state) => { return{ user: state.login.userName, uid: state.login.uid, msg: null, login:state.login.isLogin, curKey: state.menu.curKey } }, { loginTypeAction, logoutActions, checkLoginState, changeMenuItem } )(HeaderCom)