import React, {Component} from 'react'
|
import PropTypes from 'prop-types'
|
import { is, fromJS } from 'immutable'
|
import { connect } from 'react-redux'
|
import { withRouter } from 'react-router-dom'
|
// import { Icon, Modal } from 'antd'
|
|
import { logout } from '@/store/action'
|
import zhCN from '@/locales/zh-CN/mob.js'
|
import enUS from '@/locales/en-US/mob.js'
|
import avatar from '@/assets/img/avatar.jpg'
|
import './index.scss'
|
|
// const { confirm } = Modal
|
|
class MobHeader extends Component {
|
static propTpyes = {
|
saveIng: PropTypes.any,
|
triggerSave: PropTypes.func,
|
closeView: PropTypes.func
|
}
|
|
state = {
|
dict: localStorage.getItem('lang') !== 'en-US' ? zhCN : enUS,
|
logourl: window.GLOB.mainlogo,
|
avatar: sessionStorage.getItem('CloudAvatar') || avatar,
|
userName: sessionStorage.getItem('CloudUserName')
|
}
|
|
// logout = () => {
|
// // 退出登录
|
// let _this = this
|
// confirm({
|
// title: this.state.dict['mob.logout.hint'],
|
// content: '',
|
// onOk() {
|
// sessionStorage.clear()
|
// _this.props.logout()
|
// _this.props.history.replace('/login')
|
// },
|
// onCancel() {}
|
// })
|
// }
|
|
shouldComponentUpdate (nextProps, nextState) {
|
return !is(fromJS(this.props), fromJS(nextProps)) || !is(fromJS(this.state), fromJS(nextState))
|
}
|
|
// componentDidMount () {
|
// this.getImage()
|
// }
|
|
// getImage = () => {
|
// const { logourl } = this.state
|
// const _this = this
|
|
// let xhr = new XMLHttpRequest()
|
// xhr.open('get', logourl, true)
|
// xhr.responseType = 'blob'
|
// xhr.onload = function () {
|
// if (this.status === 200) {
|
// // document.getElementById(imgId).src = URL.createObjectURL(this.response)
|
// _this.setState({
|
// logourl: URL.createObjectURL(this.response)
|
// })
|
// }
|
// }
|
// xhr.send(null)
|
// }
|
|
render () {
|
|
return (
|
<header className="menu-header-container">
|
<div className="header-logo"><img src={this.state.logourl} alt=""/></div>
|
{/* <Dropdown className="header-setting" overlay={
|
<Menu>
|
<Menu.Item key="2" onClick={this.logout}>{this.state.dict['mob.logout']}</Menu.Item>
|
</Menu>
|
}> */}
|
<div className="header-setting">
|
<img src={this.state.avatar} alt=""/>
|
<span>
|
<span className="username">{this.state.userName}</span>{/* <Icon type="down" /> */}
|
</span>
|
</div>
|
{/* </Dropdown> */}
|
</header>
|
)
|
}
|
}
|
|
const mapStateToProps = () => {
|
return {}
|
}
|
|
const mapDispatchToProps = (dispatch) => {
|
return {
|
logout: () => dispatch(logout())
|
}
|
}
|
|
export default withRouter(connect(mapStateToProps, mapDispatchToProps)(MobHeader))
|