Merge pull request '代码库二级页面issue中readme更改' (#99) from hc1913847458/forgeplus-react:feature_repo_second_page into feature_repo_second_page

This commit is contained in:
jasder 2021-09-30 17:16:30 +08:00
commit 030c6ad61f
1 changed files with 27 additions and 16 deletions

View File

@ -67,14 +67,14 @@ function CoderDepot(props){
const [ editReadme , setEditReadme ] = useState(false); const [ editReadme , setEditReadme ] = useState(false);
const [ pullsFlag , setPullsFlag ] = useState(true); const [ pullsFlag , setPullsFlag ] = useState(true);
const [ issuesFlag , setIssuesFlag ] = useState(true); const [ issuesFlag , setIssuesFlag ] = useState(true);
const [ releaseVersions , setReleaseVersions] = useState(undefined);
const details = props.projectDetail;
const owner = props.match.params.owner; const owner = props.match.params.owner;
const projectsId = props.match.params.projectsId; const projectsId = props.match.params.projectsId;
let branchName = props.match.params.branchName; let branchName = props.match.params.branchName;
branchName = returnbar(branchName); branchName = returnbar(branchName);
const details = props.projectDetail;
let pathname = props.history.location.pathname; let pathname = props.history.location.pathname;
const { bannerList } = props; const { bannerList } = props;
useEffect(()=>{ useEffect(()=>{
@ -90,6 +90,7 @@ function CoderDepot(props){
} }
},[bannerList]) },[bannerList])
useEffect(()=>{ useEffect(()=>{
if(details){ if(details){
setProjectDetail(details); setProjectDetail(details);
@ -99,7 +100,7 @@ function CoderDepot(props){
setDefaultBranch(details.default_branch); setDefaultBranch(details.default_branch);
setInviteCode(details.invite_code); setInviteCode(details.invite_code);
} }
}) },[details])
useEffect(()=>{ useEffect(()=>{
if(treeValue){ if(treeValue){
@ -118,30 +119,40 @@ function CoderDepot(props){
setTreeValue(url); setTreeValue(url);
getFileInfo(url,branchName); getFileInfo(url,branchName);
setType("file"); setType("file");
getReadmeInfo(url,branchName);
}else{ }else{
setTreeValue(undefined); setTreeValue(undefined);
getDirInfo(branchName || defaultBranch); getDirInfo(branchName || defaultBranch);
setType("dir"); setType("dir");
getReadmeInfo('', branchName || defaultBranch);
} }
} }
},[projectsId,owner,pathname,defaultBranch]) },[projectsId,owner,pathname,defaultBranch])
useEffect(()=>{ // readme
axios.get(`/${owner}/${projectsId}/releases.json`).then((result)=>{ function getReadmeInfo(path, ref) {
if(result && result.data){ axios.get(`/${owner}/${projectsId}/readme.json`, {
const release = { params:{
"list":result.data.releases, owner: owner,
"total_count":result.data.releases.length repo: projectsId,
} filepath:path,
setReleaseVersions(release); ref:ref || branchName
}
}).then((result) => {
console.log('getReadmeInfo', result)
if (result) {
setReadme(result.data);
} else {
setReadme(undefined);
} }
}) })
},[]) }
// //
function getDirInfo(branch){ function getDirInfo(branch){
setIsSpin(true); setIsSpin(true);
const url = `/${owner}/${projectsId}/entries.json`; const url = `/${owner}/${projectsId}/entries.json`;
axios.get(url, { axios.get(url, {
params: { ref: branch } params: { ref: branch }
}).then((result) => { }).then((result) => {
@ -156,7 +167,7 @@ function CoderDepot(props){
setLastCommitAuthor(c && c.committer); setLastCommitAuthor(c && c.committer);
setMainFlag(true); setMainFlag(true);
setReadOnly(true); setReadOnly(true);
setReadme(result.data.readme); // setReadme(result.data.readme);
setEditReadme(false); setEditReadme(false);
setHide(true); setHide(true);
} }
@ -201,7 +212,7 @@ function CoderDepot(props){
setLastCommit(c && c.commit); setLastCommit(c && c.commit);
setLastCommitAuthor(c && c.committer); setLastCommitAuthor(c && c.committer);
setMainFlag(false); setMainFlag(false);
setReadme(result.data.readme) // setReadme(result.data.readme);
setReadOnly(true); setReadOnly(true);
setReadOnly(!editReadme); setReadOnly(!editReadme);
setHide(true); setHide(true);
@ -532,13 +543,13 @@ function CoderDepot(props){
} }
{/* 发布 */} {/* 发布 */}
{ {
releaseVersions && projectDetail && projectDetail.release_versions &&
<React.Fragment> <React.Fragment>
<Divider /> <Divider />
<Releases <Releases
owner={owner} owner={owner}
projectsId={projectsId} projectsId={projectsId}
releaseVersions={releaseVersions} releaseVersions={projectDetail.release_versions}
history={props.history} history={props.history}
baseOperate={baseOperate} baseOperate={baseOperate}
projectType={projectDetail.type} projectType={projectDetail.type}