forgeplus-react/src/glcc/help/index.jsx

61 lines
1.8 KiB
JavaScript

import React , { useEffect , useState } from 'react';
import { wikiPages, getWiki } from '../../forge/Wiki/api';
import bg from '../img/help_bg.png';
import './index.scss';
function Help(props) {
const {showNotification} = props;
const [fileArrInit, setFileArrInit] = useState(null);
const [checkItem, setCheckItem] = useState({});
const [itemDetail, setItemDetail] = useState({});
// 获取仓库wiki列表
useEffect(()=>{
wikiPages({
owner: 'innov',
repo: 'wiki_test',
projectId: '543211'
}).then(res => {
if (res && res.message === "200" && Array.isArray(res.data)) {
setFileArrInit(res.data);
if (res.data.length) {
setCheckItem(res.data[0]);
};
} else {
setFileArrInit([]);
}
});
}, [])
// 获取选择wiki详情
useEffect(() => {
checkItem.name && getWiki({
owner: 'innov',
repo: 'PiggyMetrics22',
pagename: checkItem.name,
projectId: '1158'
}).then(res => {
if (res && res.message === "200") {
setItemDetail(res.data);
} else {
showNotification("加载失败")
}
});
}, [checkItem]);
return(
<div className="glcc_help">
<div className='help_main'>
<div className='menuList'>
<span className='font-18 mb15'>帮助文档</span>
{fileArrInit && fileArrInit.map(item => {
return <span className={`wiki_title font-15 mb15 ${item.name === checkItem.name? 'active' : ''}`} key={item.name} onClick={() => { setCheckItem(item) }}>{item.name}</span>})}
</div>
<div className="help_cntent pt10" >
<div dangerouslySetInnerHTML={{ __html: itemDetail && itemDetail.simple_content }}></div>
<img src={bg} className='bg'/>
</div>
</div>
</div>
)
}
export default Help;