diff --git a/Routes.js b/Routes.js
index 8901b19c..c7400765 100644
--- a/Routes.js
+++ b/Routes.js
@@ -26,21 +26,25 @@ export const deepRoutes = [
{
key: "zoneNews",
path: "/zone/:deptId/newdetail/:id",
+ onlyHead: true,
// component: NewsDetail
},
{
key: "zone",
path: "/zone/:deptId",
+ onlyHead: true,
// component: Information
},
{
key: "detail",
path: "/:owner/:projectsId",
+ onlyHead: false,
component: Detail,
},
{
key: "owner",
path: "/:owner",
+ onlyHead: true,
// component: Detail,
}
]
diff --git a/server/render.js b/server/render.js
index e3e60734..9ee936c1 100644
--- a/server/render.js
+++ b/server/render.js
@@ -56,6 +56,15 @@ export const render = async (req,res)=>{
if (_route && _route.component && _route.component.preFetch) {
+
+ // 设置服务端请求cookie
+ let cookies = req.headers.cookie.split(';')
+ for (let index = 0; index < cookies.length; index++) {
+ const element = cookies[index];
+ domObj.window.document.cookie = element
+ }
+
+
context = await _route.component.preFetch({
store,
match: _match,
@@ -63,16 +72,20 @@ export const render = async (req,res)=>{
});
}
- const content = renderToString((
-
-
-
- {renderRoutes(Routes)}
- {/* */}
-
-
-
- ))
+ let content = undefined
+
+ if (_route && !specialRoute.includes(_match.url && _match.url.replace('/', '')) && !_route.onlyHead) {
+ content = renderToString((
+
+
+
+ {renderRoutes(Routes)}
+ {/* */}
+
+
+
+ ))
+ }
if (!content) {
// 未匹配到详情页恢复默认header
diff --git a/src/forge/Main/Detail.js b/src/forge/Main/Detail.js
index 79dda302..689f8d49 100644
--- a/src/forge/Main/Detail.js
+++ b/src/forge/Main/Detail.js
@@ -308,8 +308,7 @@ class Detail extends Component {
secondSync: false,
mirror_status:0
})
- // this.getBanner(this.props.projectMenu)
- this.getBanner()
+ this.getBanner(this.props.projectMenu)
let projectdata
if (this.props.defaultDetail) {
projectdata = this.props.defaultDetail
diff --git a/src/forge/Server/Index.jsx b/src/forge/Server/Index.jsx
index 7a64541f..9a6f57e4 100644
--- a/src/forge/Server/Index.jsx
+++ b/src/forge/Server/Index.jsx
@@ -29,9 +29,9 @@ function ServerIndex(props){
useEffect(()=>{
// 非项目协作者不可进入服务tab (3397)
- // if(projectDetail && projectDetail.permission === ""){
- // props.history.push(`/${owner}/${projectsId}`);
- // }
+ if(projectDetail && projectDetail.permission === ""){
+ props.history.push(`/${owner}/${projectsId}`);
+ }
}, [projectDetail])
return(
diff --git a/src/services/project.js b/src/services/project.js
index 55c34e23..ebf527ab 100644
--- a/src/services/project.js
+++ b/src/services/project.js
@@ -18,41 +18,65 @@ const axiosInstance = axios.create({
//
export async function getProjectFunc (owner, projectsId) {
const url = `${baseUrl}/${owner}/${projectsId}/simple.json`;
+ if (__SERVER__) {
+ axiosInstance.defaults.headers.cookie = domObj.window.document.cookie
+ }
return axiosInstance.get(url);
}
export async function getProjectDetailFunc (owner, projectsId) {
const url = `${baseUrl}/${owner}/${projectsId}/detail.json`;
+ if (__SERVER__) {
+ axiosInstance.defaults.headers.cookie = domObj.window.document.cookie
+ }
return axiosInstance.get(url);
}
export async function getProjectEntriesFunc (owner, projectsId, branch) {
const url = `${baseUrl}/${owner}/${projectsId}/entries.json`;
+ if (__SERVER__) {
+ axiosInstance.defaults.headers.cookie = domObj.window.document.cookie
+ }
return axiosInstance.get(url, {params: { ref: branch }});
}
export async function getBannerFunc (owner, projectsId) {
const url = `${baseUrl}/${owner}/${projectsId}/menu_list.json`;
+ if (__SERVER__) {
+ axiosInstance.defaults.headers.cookie = domObj.window.document.cookie
+ }
return axiosInstance.get(url);
}
export async function getProjectReadMe (owner, projectsId, branch) {
const url = `${baseUrl}/${owner}/${projectsId}/readme.json`;
+ if (__SERVER__) {
+ axiosInstance.defaults.headers.cookie = domObj.window.document.cookie
+ }
return axiosInstance.get(url, {params: { ref: branch }});
}
export async function getOwnerInfo (owner) {
const url = `${baseUrl}/owners/${owner}.json`;
+ if (__SERVER__) {
+ axiosInstance.defaults.headers.cookie = domObj.window.document.cookie
+ }
return axiosInstance.get(url);
}
export async function getMainInfos (deptId) {
const url = `${baseZoneUrl}/zone/open/zoneKey/${deptId}`;
+ if (__SERVER__) {
+ axiosInstance.defaults.headers.cookie = domObj.window.document.cookie
+ }
return axiosInstance.get(url);
}
export async function getNewsDetail (id) {
const url = `${baseZoneUrl}/cms/doc/open/${id}`;
+ if (__SERVER__) {
+ axiosInstance.defaults.headers.cookie = domObj.window.document.cookie
+ }
return axiosInstance.get(url);
}