Merge pull request '鉴权体系重构' (#604) from Eeeros/forgeplus-react:gitlink_server into gitlink_server

1
This commit is contained in:
Eeeros 2024-01-13 10:16:10 +08:00
commit 8028e8f187
9 changed files with 47 additions and 32 deletions

View File

@ -4,7 +4,7 @@ import { httpUrl } from '../fetch';
import guideArrow from '../img/guideArrow.png';
import { Link } from 'react-router-dom';
import shijian from '../img/shijian.png';
import { getHomePageList , gethomePageDocList , getAllList } from '../api';
import { getHomePageList , gethomePageDocList , getAllList, getPartnerList } from '../api';
import axios from 'axios';
import Partner from '../Component/partner';
@ -21,7 +21,7 @@ function HeaderPage(props){
getProjectList();
getNewsList();
getPersonList();
getPartnerList();
getPartner();
}
},[id])
@ -49,9 +49,8 @@ function HeaderPage(props){
}).catch(console.error())
}
function getPartnerList(){
const url = `${httpUrl}/zone/open/${id}/partners/list`;
axios.get(url).then(result=>{
function getPartner(){
getPartnerList(id).then(result => {
if(result){
const array = result.data.rows;
const newArray = [];
@ -66,7 +65,7 @@ function HeaderPage(props){
}
setParterList(newArray);
}
}).catch(error=>{})
})
}
return(
<div className="zone_box">

View File

@ -16,12 +16,12 @@ import ra from '../img/ra.png'
import title from '../img/title.png'
import { Link } from 'react-router-dom';
import shijian from '../img/shijian.png';
import axios from 'axios';
import Nodata from '../../Nodata';
import Projects from '../Component/projects';
import Contributor from '../Component/contributor';
import Partner from '../Component/partner';
import '../indexZone1.scss'
import { getProjectsLists, getPartnerList, getHomePageList, gethomePageDocList } from '../api'
function HeaderPage(props){
const [ projectList , setProjectList ] = useState(undefined);
@ -65,13 +65,12 @@ function HeaderPage(props){
getProjectList();
getNewsList();
getPersonList();
getPartnerList();
getPartner();
}
},[id])
function getPersonList(){
const url = `${httpUrl}/zone/open/${id}/member/homePageList`;
axios.get(url).then(result=>{
getHomePageList(id).then(result=>{
if(result){
setPersonList(result.data.rows);
}
@ -79,19 +78,14 @@ function HeaderPage(props){
}
function getNewsList(){
const url = `${httpUrl}/cms/doc/open/zone/${id}/homePageDocList`;
axios.get(url).then(result=>{
gethomePageDocList(id).then(result=>{
if(result){
setNewsList(result.data.rows);
}
}).catch(error=>{})
}
function getProjectList(){
const url = `${httpUrl}/zone/open/${id}/project/list`;
axios.get(url,{params:{
isHomepage:1
}}).then(result=>{
getProjectsLists(id,{ isHomepage:1 }).then(result=>{
if(result){
if (result.data.rows.length < 3) {
setProjectList(result.data.rows)
@ -99,12 +93,11 @@ function HeaderPage(props){
setProjectList([...result.data.rows, {}]);
}
}
}).catch(console.error())
}).catch(error=>{})
}
function getPartnerList(){
const url = `${httpUrl}/zone/open/${id}/partners/list`;
axios.get(url).then(result=>{
function getPartner(){
getPartnerList(id).then(result => {
if(result){
const array = result.data.rows;
const newArray = [];
@ -119,7 +112,7 @@ function HeaderPage(props){
}
setParterList(newArray);
}
}).catch(error=>{})
})
}
return(
<div className="zone1_box">

View File

@ -22,6 +22,7 @@ function NewsCreate(props){
const [dirList, setDirList] = useState(undefined);
const [loading, setLoading] = useState(false);
const [isEdit, setIsEdit] = useState(false);
const { sectionCmsTitle } = props.data;
const layout = {
labelCol: { span: 2 },
wrapperCol: { span: 14 },
@ -123,7 +124,7 @@ function NewsCreate(props){
return(
<div className='boxmain pt30 newsCreateBox pb100'>
<Breadcrumb separator=">">
<Breadcrumb.Item href={`/zone/${deptId}/news`}>{tempConfig[temp].mainTitle}</Breadcrumb.Item>
<Breadcrumb.Item href={`/zone/${deptId}/news`}>{ sectionCmsTitle }</Breadcrumb.Item>
<Breadcrumb.Item>{isEdit ? '编辑' : '新建'}文章</Breadcrumb.Item>
</Breadcrumb>
<div className='formBox'>

View File

@ -19,7 +19,7 @@ function NewsDetail(props){
const [ isSpin , setIsSpin]=useState(false);
const [ commentReload, setCommentReload] = useState(undefined);
const temp = props.temp;
const zonedetail = props.data;
const { zonedetail, sectionCmsTitle, mainTitle } = props.data;
useEffect(()=>{
let initialContent = undefined;
@ -33,6 +33,7 @@ function NewsDetail(props){
document.querySelector('meta[name="viewport"]').setAttribute('content','width=device-width, user-scalable=no,initial-scale=1.0,maximum-scale=1.0,minimum-scale=1.0');
}
return()=>{
document.title = mainTitle;
if(IsPC()){
document.querySelector('meta[name="viewport"]').setAttribute('content', initialContent);
}
@ -99,7 +100,7 @@ function NewsDetail(props){
{
!IsPC() &&
<Breadcrumb separator=">">
<Breadcrumb.Item href={`/zone/${deptId}/news`}>{tempConfig[temp].mainTitle}</Breadcrumb.Item>
<Breadcrumb.Item href={`/zone/${deptId}/news`}>{ sectionCmsTitle }</Breadcrumb.Item>
{ cmsDir && <Breadcrumb.Item href={`/zone/${deptId}/news/${cmsDir.id}`}>{cmsDir.name}</Breadcrumb.Item> }
<Breadcrumb.Item>正文</Breadcrumb.Item>
</Breadcrumb>

View File

@ -22,6 +22,7 @@ function SelfList(props){
const pathname = props.location.pathname;
const { deptId} = props.match.params;
const { id , temp , data } = props;
const { sectionCmsTitle } = data;
const limit = 15;
useEffect(()=>{
@ -142,7 +143,7 @@ function SelfList(props){
</div>
</Modal>
<Breadcrumb separator=">" style={{paddingTop:"20px"}}>
<Breadcrumb.Item><Link className="primaryColor" to={pathname.replace("/self","")}>{source ? "资源发布": temp === tempEnum.zone1 ? "新闻资讯":"领域资讯"}</Link></Breadcrumb.Item>
<Breadcrumb.Item><Link className="primaryColor" to={pathname.replace("/self","")}>{ sectionCmsTitle }</Link></Breadcrumb.Item>
<Breadcrumb.Item>我的{source ? "资源":"文章"}</Breadcrumb.Item>
</Breadcrumb>
<ul className="selfMenu">

View File

@ -33,7 +33,7 @@ function SourceDetail(props){
function componentWillUnmount() {
if (zonedetail) {
document.title= zonedetail.name;
document.title= zonedetail.mainTitle;
setSeoMeta(`${zonedetail.name},`, zonedetail.name, zonedetail.subTitle, `/zone/${deptId}`)
}
}

View File

@ -46,6 +46,13 @@ export function getAllList(id,params){
})
}
export function getPartnerList(id){
return fetch({
url:`/zone/open/${id}/partners/list`,
method: 'get',
})
}
/**领域资讯 */
export function getNewsAllList(id,params){
return fetch({

View File

@ -5,11 +5,22 @@ function beforeFetch(actionUrl){
if (window.location.href.indexOf('localhost') < 0) {
axios.defaults.withCredentials = true;
}
const service = axios.create({
const config = {
baseURL: actionUrl,
timeout: 1800000, // 请求超时时间
});
}
const service = axios.create(config);
service.interceptors.request.use(request => {
let deptId = sessionStorage.getItem('deptId')
if (deptId) {
// 用于权限区分
request.headers['Dept-Id'] = deptId
}
return request
})
service.interceptors.response.use(
response => {

View File

@ -124,16 +124,18 @@ function Index(props){
return
}
let data = result.data.data;
if (data.template) {
if (data && data.template) {
setTemp( data.template )
}
setData(data);
document.title= data && data.name;
document.title= data && data.mainTitle;
setId(data.id);
if(data.id){
getAdminUrl(data.id);
getRole(data.id)
}
// deptIdheader
sessionStorage.setItem('deptId', data.deptId)
setSeoMeta(`${data.name},`, data.name, data.subTitle, `/zone/${deptId}`)
}
}).catch(console.error())