From 1764fbdb883304636823e0b1e0328cc3a1a8a656 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BD=95=E7=AB=A5=E5=B4=87?= <792998983@qq.com> Date: Fri, 3 Sep 2021 21:51:53 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E9=80=9F=E5=BA=A6=E9=80=9F=E5=BA=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/forge/Main/Detail.js | 2 +- src/forge/Main/DetailAdaptor.js | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) create mode 100644 src/forge/Main/DetailAdaptor.js diff --git a/src/forge/Main/Detail.js b/src/forge/Main/Detail.js index 3303d42c3..803b4c74b 100644 --- a/src/forge/Main/Detail.js +++ b/src/forge/Main/Detail.js @@ -142,7 +142,7 @@ const WikiEdit = Loadable({ function checkPathname(projectsId, owner, pathname) { let name = ""; if (pathname && pathname !== `/${owner}/${projectsId}`) { - let url = pathname.split(`/${owner}/${projectsId}`)[1]; + let url = pathname.split(`/${owner}/${projectsId}`)[1] || ''; if (url.indexOf("/about") > -1) { name = "about" } else if (url.indexOf("/issues") > -1 || url.indexOf("Milepost") > 0) { diff --git a/src/forge/Main/DetailAdaptor.js b/src/forge/Main/DetailAdaptor.js new file mode 100644 index 000000000..4f2fba263 --- /dev/null +++ b/src/forge/Main/DetailAdaptor.js @@ -0,0 +1,6 @@ +import Detail from "./Detail"; +import { SnackbarHOC } from "educoder"; +import { CNotificationHOC } from "../../modules/courses/common/CNotificationHOC"; +import { TPMIndexHOC } from "../../modules/tpm/TPMIndexHOC"; + +export default CNotificationHOC()(SnackbarHOC()(TPMIndexHOC(Detail))); \ No newline at end of file From a90eeac318365f000880cdd45fdc4792d5a4d660 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BD=95=E7=AB=A5=E5=B4=87?= <792998983@qq.com> Date: Sat, 4 Sep 2021 11:16:08 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E4=B8=8A=E4=BC=A0PR=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/App.js | 19 ++++++++++++++++++- src/forge/Main/DetailAdaptor.js | 26 ++++++++++++++++++++++++-- src/forge/Merge/NewMerge.js | 14 +++++++++++--- 3 files changed, 53 insertions(+), 6 deletions(-) diff --git a/src/App.js b/src/App.js index af5532ad5..f0fe80b15 100644 --- a/src/App.js +++ b/src/App.js @@ -19,7 +19,7 @@ import moment from 'moment' import { MuiThemeProvider, createMuiTheme } from 'material-ui/styles'; import SiderBar from './forge/Component/SiderBar' -import { SnackbarHOC } from 'educoder' +import { SnackbarHOC } from 'educoder'; import { initAxiosInterceptors } from './AppConfig' import { Provider } from 'react-redux'; import configureStore from './redux/stores/configureStore'; @@ -39,6 +39,11 @@ const Projects = Loadable({ loader: () => import('./forge/Index'), loading: Loading, }) +// forge项目详情 +const ProjectDetail = Loadable({ + loader: () => import("./forge/Main/DetailAdaptor"), + loading: Loading, +}); //forge安全设置 const Security = Loadable({ loader: () => import('./forge/SecuritySetting/Index'), @@ -92,6 +97,11 @@ const ProjectIndex = Loadable({ loading: Loading, }); +const CreateMerge = Loadable({ + loader: () => import('./forge/Merge/NewMerge'), + loading: Loading, +}) + // 此处仅维护前端可能的一级路由,不用进行项目或者组织判断的字段。 const keyWord = ["explore", "settings", "setting", "CCF", "mulan", "wiki", "issues", "setting", "trending", "code", "projects", "pulls", "mine", "login", "register", "email", "export", "nopage", "404", "403", "500", "501", "search"]; @@ -268,6 +278,13 @@ class App extends Component { } } /> + {/* 项目PR */} + () + } + > + {/*项目*/} import("../Main/Detail"), + loading: Loading, +}); +export default withRouter( + (CNotificationHOC()(SnackbarHOC()(TPMIndexHOC((props) => { + return ( + + ( + + )} + > + + ) + })))) +) \ No newline at end of file diff --git a/src/forge/Merge/NewMerge.js b/src/forge/Merge/NewMerge.js index 956be0006..7d33028d3 100644 --- a/src/forge/Merge/NewMerge.js +++ b/src/forge/Merge/NewMerge.js @@ -48,8 +48,10 @@ class NewMerge extends Component { this.compareProject(this.state.id,pull,"master"); } } + // 页面销毁取消监听 componentWillUnmount () { + console.log('----------destoyed---------'); window.removeEventListener('popstate', this.handleBack, false); }; @@ -60,8 +62,11 @@ class NewMerge extends Component { //获取新建分支数据 getmergelist = (projectsId) => { - this.setState({isSpin: true}) - const { owner } = this.props.match.params; + this.setState({isSpin: true}); + // const { owner } = this.props.match.params; + let owner =this.props.history.location.pathname.split('/')[1]; + console.log('owner:'+owner); + console.log(this.props); const url = `/${owner}/${projectsId}/pulls/new.json`; axios .get(url) @@ -264,7 +269,9 @@ class NewMerge extends Component { show_message, default_message, merge_head, - projects_names,id,comparesData + projects_names, + id, + comparesData } = this.state; const renderBrances = (list, type) => { @@ -298,6 +305,7 @@ class NewMerge extends Component { return
; }; let { project } = this.props; + return (