diff --git a/src/App.js b/src/App.js index 28b3f786..7027c851 100644 --- a/src/App.js +++ b/src/App.js @@ -290,7 +290,7 @@ class App extends Component { }; render() { - const { pathType, pathName } = this.state; + const { pathType, pathName, mygetHelmetapi } = this.state; return ( @@ -348,7 +348,7 @@ class App extends Component { {/* 查询 */} - + } + render={(props) =>} > {/* 注册 */} } + render={(props) =>} > {/* 忘记密码 */} } + render={(props) =>} > {/* 关于我们 */} diff --git a/src/forge/Wiki/EditWiki.jsx b/src/forge/Wiki/EditWiki.jsx index 3ba29ff4..cb786c3f 100644 --- a/src/forge/Wiki/EditWiki.jsx +++ b/src/forge/Wiki/EditWiki.jsx @@ -184,7 +184,7 @@ export default Form.create()(({ form, history, showNotification, projectDetail, return (
- Wiki 编辑页面 + Wiki {wikiName ? '编辑' : '新增'}页面
diff --git a/src/forge/users/Infos.js b/src/forge/users/Infos.js index c0b1e4b4..a703597a 100644 --- a/src/forge/users/Infos.js +++ b/src/forge/users/Infos.js @@ -83,8 +83,15 @@ class Infos extends Component { if(pathname === `/${username}`){ this.setState({route_type:undefined}); if(load){ + // 切换不同tab以及第一次渲染 this.setState({ - menuKey:load.show_super_description ? "6" :"0" + menuKey: load.show_super_description ? "6" : typeof(load) === 'object' ? '0' : load + }) + }else{ + // 从我关注的/关注我的返回 + const {user} = this.state; + user && this.setState({ + menuKey: user.show_super_description ? "6" : "0" }) } }else if(pathname === `/${username}/statistics`){ @@ -119,7 +126,8 @@ class Infos extends Component { const { pathname } = this.props.location; const prevPath = prevProps.location.pathname; if(prevPath && pathname && prevPath !== pathname){ - this.renderPath(pathname); + const {menuKey} = this.state; + this.renderPath(pathname, menuKey); } this.props.history.listen(()=>{ if (document.body.scrollTop || document.documentElement.scrollTop > 0) { diff --git a/src/forge/users/fan_users.js b/src/forge/users/fan_users.js index 32748176..e629498c 100644 --- a/src/forge/users/fan_users.js +++ b/src/forge/users/fan_users.js @@ -1,6 +1,23 @@ import React, { Component } from "react"; import CommonLists from "./common_lists" class FanUsers extends Component { + componentDidMount=()=>{ + this.updateDocumentTitle(); + } + + componentDidUpdate(){ + this.updateDocumentTitle(); + } + + // 更新网页标题 + updateDocumentTitle(){ + const {user, current_user} = this.props; + if(user && current_user){ + const {username, login} = user; + const title_type =login === current_user.login ? "我" : "TA"; + document.title = `关注${title_type}的-${username}` + } + } render() { const {user, current_user , match, fetchUser} = this.props diff --git a/src/forge/users/watch_users.js b/src/forge/users/watch_users.js index cebc3e86..d6d2bda9 100644 --- a/src/forge/users/watch_users.js +++ b/src/forge/users/watch_users.js @@ -1,8 +1,26 @@ import React, { Component } from "react"; import CommonLists from "./common_lists" class WatcherUsers extends Component { + componentDidMount=()=>{ + this.updateDocumentTitle(); + } + + componentDidUpdate(){ + this.updateDocumentTitle(); + } + + // 更新网页标题 + updateDocumentTitle(){ + const {user, current_user} = this.props; + if(user && current_user){ + const {username, login} = user; + const title_type =login === current_user.login ? "我" : "TA"; + document.title = `${title_type}的关注-${username}` + } + } + render() { - const {user, current_user , match, fetchUser } = this.props; + const {user, current_user , match, fetchUser} = this.props; return ( user && user.login && { + if(mygetHelmetapi){ + const {name} = mygetHelmetapi; + document.title = name; + } + }, [mygetHelmetapi]) + // 登录表单提交 function handleSubmit(){ setMessage(undefined); diff --git a/src/modules/loginRegister/LoginRegisterPage.jsx b/src/modules/loginRegister/LoginRegisterPage.jsx index 788bbf40..1a5a4e2c 100644 --- a/src/modules/loginRegister/LoginRegisterPage.jsx +++ b/src/modules/loginRegister/LoginRegisterPage.jsx @@ -10,6 +10,7 @@ import img2 from './img/img2.png'; import '../loginRegister/LoginRegisterPage.scss'; function LoginRegisterPage(props){ + const {mygetHelmetapi} = props; return(
@@ -18,7 +19,7 @@ function LoginRegisterPage(props){
- {props.location.pathname === "/login" ? : props.location.pathname === "/register" ? : } + {props.location.pathname === "/login" ? : props.location.pathname === "/register" ? : }
diff --git a/src/modules/loginRegister/Register.jsx b/src/modules/loginRegister/Register.jsx index 33b52a84..6083fe6f 100644 --- a/src/modules/loginRegister/Register.jsx +++ b/src/modules/loginRegister/Register.jsx @@ -6,7 +6,7 @@ import { setmiyah } from 'educoder'; import './LoginRegisterPage.scss'; function Register(props){ - const {form} = props; + const {form, mygetHelmetapi} = props; const {getFieldDecorator, setFieldsValue } = form; //用户输入的符合规则的邮箱(用于获取验证码) const [emailStr, setEmailStr] = useState(undefined); @@ -27,6 +27,14 @@ function Register(props){ //页面加载完自动聚焦到第一个输入框 // const inputEl = useRef(null); + // 配置网页标题 + useEffect(()=>{ + if(mygetHelmetapi){ + const {name} = mygetHelmetapi; + document.title = name; + } + }, [mygetHelmetapi]) + //注册表单提交 function handleSubmit(){ form.validateFields((err, values) => { diff --git a/src/modules/loginRegister/ResetPassword.jsx b/src/modules/loginRegister/ResetPassword.jsx index 782d9482..b460e3f8 100644 --- a/src/modules/loginRegister/ResetPassword.jsx +++ b/src/modules/loginRegister/ResetPassword.jsx @@ -6,7 +6,7 @@ import { setmiyah } from 'educoder'; import './LoginRegisterPage.scss'; function ResetPassword(props) { - const {form } = props; + const {form, mygetHelmetapi } = props; const {getFieldDecorator } = form; const [emailStr, setEmailStr] = useState(undefined); const [secondsStr, setSecondsStr] = useState(60); @@ -21,6 +21,14 @@ function ResetPassword(props) { //页面加载完自动聚焦到第一个输入框 const inputEl = useRef(null); + // 配置网页标题 + useEffect(()=>{ + if(mygetHelmetapi){ + const {name} = mygetHelmetapi; + document.title = name; + } + }, [mygetHelmetapi]) + //重置密码表单提交 function handleSubmit() { form.validateFieldsAndScroll((err, values) => { diff --git a/src/modules/search/index.jsx b/src/modules/search/index.jsx index 89d72f4b..a2bd2ae8 100644 --- a/src/modules/search/index.jsx +++ b/src/modules/search/index.jsx @@ -10,7 +10,7 @@ import './index.scss'; const { Search } = Input; const { TabPane } = Tabs; -const GlobalSearch = ({ location, showNotification, history }) => { +const GlobalSearch = ({ location, showNotification, history, mygetHelmetapi }) => { const size = 10; let defaultValue = decodeURI(location.search.split("=")[1] || ""); @@ -34,6 +34,13 @@ const GlobalSearch = ({ location, showNotification, history }) => { const [ref, setRef] = useState(undefined); const [focus, setFocus] = useState(0); + // 配置网页标题 + useEffect(()=>{ + if(mygetHelmetapi){ + const {name} = mygetHelmetapi; + document.title = name; + } + }, [mygetHelmetapi]) useEffect(() => { searchDataList();