拉取测试版分支代码,且更新gitlink首页

This commit is contained in:
caishi 2021-09-22 09:23:20 +08:00
parent 38021c2e4b
commit d4690cc8b5
35 changed files with 781 additions and 28 deletions

View File

@ -97,8 +97,8 @@ const ProjectIndex = Loadable({
loading: Loading,
});
const CreateMerge = Loadable({
loader: () => import('./forge/Merge/NewMerge'),
const Home = Loadable({
loader: () => import('./home/Index'),
loading: Loading,
})
@ -353,34 +353,28 @@ class App extends Component {
{/* 判断为用户/组织,并进入对应页面 */}
{
pathType === 'User' ?
<Route exact path="/:username"
render={
(props) => {
return (<InfosIndex {...this.props} {...this.state} />)
}
<Route exact path="/:username"
render={
(props) => {
return (<InfosIndex {...this.props} {...this.state} />)
}
/> : pathType === 'Organization' ? <Route path={"/:OIdentifier"}
render={
(props) => {
return (<OrganizeIndex {...props} {...this.props} {...this.state} />)
}
}>
</Route> : pathType === '404' ? <Route component={Shixunnopage} />:
<Route exact path="/"
render={
(props) => (
personal && personal.length > 0 ?
<InfosIndex {...this.props} {...props} />
:
<ProjectIndex {...this.props} {...props} />
)
}
/>
// <Route path="/" component={Loading} />
// <Route path="/" component={Shixunnopage} />
}
/> : pathType === 'Organization' ? <Route path={"/:OIdentifier"}
render={
(props) => {
return (<OrganizeIndex {...props} {...this.props} {...this.state} />)
}
}>
</Route> : pathType === '404' ? <Route component={Shixunnopage} />:
""
}
<Route exact path="/"
render={
(props) => (
<Home {...props} {...this.props} {...this.state}/>
)
}
/>
{/* 个人主页 */}
<Route path="/:username"

22
src/home/Headnav.jsx Normal file
View File

@ -0,0 +1,22 @@
import React from 'react';
import './Index.scss';
function HeadNav() {
return(
<div className="headNav">
<div className="headNavDiv">
<ul className="headlist">
<li>协同开发</li>
<li>教学实践</li>
<li>论坛交流</li>
<li>关于我们</li>
</ul>
<div>
<a className="color-white">登录</a>
<a className="regBtn">注册</a>
</div>
</div>
</div>
)
}
export default HeadNav;

BIN
src/home/Img/2-1bg.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 MiB

BIN
src/home/Img/2-2-1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

BIN
src/home/Img/2-2-2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

BIN
src/home/Img/2-2-3.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 483 KiB

BIN
src/home/Img/2-2-head.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 95 KiB

BIN
src/home/Img/2-2-ring.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 KiB

BIN
src/home/Img/3-1-1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

BIN
src/home/Img/3-1-2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

BIN
src/home/Img/3-1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 345 KiB

BIN
src/home/Img/3-2-1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

BIN
src/home/Img/3-2-2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

BIN
src/home/Img/3-3-1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

BIN
src/home/Img/3-3-2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

BIN
src/home/Img/3-4-1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

BIN
src/home/Img/3-4-2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

BIN
src/home/Img/3-bg.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.3 MiB

BIN
src/home/Img/4-1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

BIN
src/home/Img/4-2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

BIN
src/home/Img/4-3.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

BIN
src/home/Img/4-4.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

BIN
src/home/Img/4-bg.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 MiB

BIN
src/home/Img/banner1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 MiB

BIN
src/home/Img/banner2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 MiB

BIN
src/home/Img/banner4.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 MiB

BIN
src/home/Img/top-1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

BIN
src/home/Img/top-2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

BIN
src/home/Img/top-3.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

BIN
src/home/Img/top-bg.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 84 KiB

84
src/home/Index.jsx Normal file
View File

@ -0,0 +1,84 @@
import React from 'react';
import "./Index.scss";
import HeadNav from './Headnav';
import TopEdition from './TopEdition';
import ThirdEdition from './ThirdEdition';
import { Anchor } from 'antd';
import F41 from './Img/4-1.png';
import F42 from './Img/4-2.png';
import F43 from './Img/4-1.png';
import F44 from './Img/4-2.png';
import SecondEdition from './SecondEdition';
function Index(props) {
return(
<div className="homePage">
<div className="topEdition">
<HeadNav />
<TopEdition />
<ul className="topEditionUl">
<li>
<p className="task-hide font-18">CCF开源发展成立大会即将召开</p>
<p>此处为活动详情内容</p>
</li>
<li>
<p className="task-hide font-18">CCF开源发展成立大会即将召开</p>
<p>此处为活动详情内容</p>
</li>
<li>
<p className="task-hide font-18">CCF开源发展成立大会即将召开</p>
<p>此处为活动详情内容此处为活动详情内容此处为活动详情内容此处为活动详情内容</p>
</li>
</ul>
</div>
<div className="secondEdition">
<p className="theTitle">Gitlink新一代开源创新服务平台</p>
<Anchor>
<li className="active"><a>分布式协作开发</a></li>
<li><a>一站式过程管理</a></li>
<li><a>高效流水线运维</a></li>
<li><a>多层次代码分析</a></li>
<li><a>多维度用户画像</a></li>
</Anchor>
<SecondEdition />
</div>
<ThirdEdition />
<div className="forthEdition">
<p className="theTitle">加入Gitlink和社区伙伴们一起踏上开源创新的辉煌旅程</p>
<a className="qulikyreg">快速注册</a>
<ul className="forthUl">
<li>
<img src={F41} alt="" width={"100px"}/>
<span className="forthtitle">发现</span>
<span className="forthsubtitle">探索丰富优质的开发资源</span>
</li>
<li>
<img src={F42} alt="" width={"101px"}/>
<span className="forthtitle">加入</span>
<span className="forthsubtitle">寻找志同道合的协作伙伴</span>
</li>
<li>
<img src={F43} alt="" width={"104px"}/>
<span className="forthtitle">合作</span>
<span className="forthsubtitle">开启开放共享的协同之旅</span>
</li>
<li>
<img src={F44} alt="" width={"87px"}/>
<span className="forthtitle">贡献</span>
<span className="forthsubtitle">书写开源创新的精彩成就</span>
</li>
</ul>
</div>
<div className="fifthEdition">
<p className="title">开源生态</p>
<p className="subtitle">Gitlink与各大企业高校科研机构开展广泛的技术合作推动我国开源软件生态的快速构建与发展</p>
</div>
</div>
)
}
export default Index;

512
src/home/Index.scss Normal file
View File

@ -0,0 +1,512 @@
body{
overflow: auto!important;
background-color: #fff;
}
.homePage{
background-color: #fff;
}
.topEdition{
position: relative;
background-image: linear-gradient(to right,#081843,#000A1D);
margin-bottom: 159px;
.headNav{
position: absolute;
width: 100%;
top:0px;
left: 0px;
color: #FFFFFF;
background-color: rgba(225,225,225,0.03);
z-index: 10000;
.headNavDiv{
width: 1200px;
margin:0px auto;
height: 72px;
line-height: 72px;
display: flex;
justify-content: space-between;
align-items: center;
.headlist{
display: flex;
font-weight: 400;
margin-left: 30px;
li{
margin-right: 38px;
}
}
.regBtn{
display: inline-block;
height: 30px;
line-height: 30px;
color: #fff!important;
width: 60px;
text-align: center;
border-radius: 5px;
background-color: #466AFF;
margin-left: 20px;
&:hover{
background-color: rgba(70,106,255,0.85);
}
}
}
}
.slick-track{
height: 679px;
.slick-slide{
position: relative;
div{
height: 100%;
.regform1{
background:url('./Img/banner1.png') no-repeat center center;
background-size:cover;
}
.regform2{
background:url('./Img/banner2.png') no-repeat center center;
background-size:cover;
}
.regform3{
background:url('./Img/banner4.png') no-repeat center center;
background-size:cover;
}
}
.regPrg{
position: absolute;
z-index: 2;
width: 1200px;
left: 50%;
margin-left: -600px;
top:50%;
margin-top: -23px;
a{
color: #fff!important;
display: inline-block;
background-color: #466AFF;
border-radius: 5px;
height: 46px;
line-height: 46px;
width: 98px;
text-align: center;
font-size: 18px;
letter-spacing: 2px;
}
}
img{
position: absolute;
width: 100%;
height: 100%;
top:0px;
left: 0px;
z-index: 1;
}
}
}
.ant-carousel{
min-width: 1200px;
}
.ant-carousel .slick-dots{
width: 1200px;
text-align: left;
left: 50%;
margin-left: -600px;
bottom: 25%;
li{
margin:0px;
margin-right: 15px;
margin-left: 5px;
button{
background-color: rgba(225,225,225,0.45);
}
button,&.slick-active button{
width: 46px;
}
}
}
.topEditionUl{
position: absolute;
width: 1244px;
background-image: url('./Img/top-bg.png');
height: 244px;
bottom: -139px;
left: 50%;
margin-left: -622px;
display: flex;
align-items: center;
justify-content: center;
li{
background-image: url('./Img/top-2.png');
height: 163px;
width: 377px;
padding:36px 35px;
color: #fff;
margin:0px 5px;
p{
line-height: 25px;
&:first-child{
margin-bottom: 12px!important;
}
}
&:first-child{
background-image: url('./Img/top-1.png');
}
&:last-child{
background-image: url('./Img/top-3.png');
}
}
}
}
.secondEdition{
.theTitle{
height: 53px;
line-height: 53px;
font-size: 38px;
font-weight: 500;
color: #1E1E1E;
text-align: center;
margin: 42px 0px 30px!important;
}
.ant-anchor-wrapper{
width: 1200px;
margin:0px auto;
.ant-anchor{
display: flex;
align-items: center;
justify-content: center;
.ant-anchor-ink{
width: 100%;
height: 1px;
background: #D8D8D8;
border: 1px solid rgba(153, 153, 153, 0.5);
bottom: 0px;
top:initial;
}
li{
padding:18px 19px;
margin:0px 10px;
position: relative;
font-size: 18px;
a{
color: #333333!important;
}
&.active::after{
position: absolute;
left: 0px;
bottom: 2px;
height:2px;
background-color: #466AFF;
content: "";
width: 100%;
}
}
}
}
.secondEditionContent{
padding:65px 0px;
width: 1200px;
margin:0px auto;
.hadoop{
background:url('./Img/2-1bg.png') no-repeat center center;
background-size:cover;
min-height: 753px;
padding:50px 56px;
display: flex;
.descBox{
max-width: 352px;
word-break: break-all;
.desc1{
height: 50px;
line-height: 50px;
font-size: 36px;
font-weight: 600;
color: #FFFFFF;
background: -webkit-linear-gradient(90deg, #50EDFF 0%, #557CFF 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}
.desc2{
height: 72px;
font-size: 18px;
font-weight: 500;
color: #69DAF5;
line-height: 36px;
margin-top: 97px;
}
.desc3{
height: 108px;
font-size: 18px;
font-weight: 500;
color: #FFFFFF;
line-height: 36px;
margin-top: 70px;
}
}
}
.oneStop{
text-align: center;
.oneStopContent{
display: flex;
.osLeftMain{
display: flex;
justify-content: flex-start;
align-items: flex-start;
position: relative;
margin-bottom: 182px;
.osleftPosi1,.osleftPosi2{
position: absolute;
right:10px;
top:102px;
}
.osleftPosi2{
top:217px;
right:20px;
}
}
.osRightMain{
margin-left: 22px;
text-align: left;
.osRightTitle{
height: 50px;
font-size: 36px;
font-weight: 600;
color: #FFFFFF;
line-height: 50px;
background: -webkit-linear-gradient(112deg, #FF8B75 0%, #DD2476 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
margin-top: 28px;
}
p{
font-size: 18px;
font-weight: 500;
color: #637497;
line-height: 36px;
margin-top: 50px;
margin-bottom: 0px!important;
span{
color: #1E1E1E;
}
}
}
}
}
.highDevops{
text-align: center;
.highDoTitle{
display: inline-block;
height: 90px;
line-height: 90px;
padding: 0px 66px;
font-size: 36px;
font-weight: 600;
color: #FFFFFF;
background: -webkit-linear-gradient(112deg, #D57CA0 0%, #4877F3 51%, #20C3EF 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
position: relative;
&::after{
position: absolute;
top: -3px; bottom: -3px;
left: -3px; right: -3px;
background: linear-gradient(135deg,#000781, #23b7cb);
border-radius: 30px;
content: '';
z-index: -1;
}
}
}
}
}
.thirdEdition{
background:url('./Img/3-bg.png') no-repeat center center;
background-size:cover;
min-height: 846px;
min-width: 1200px;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
.title{
height: 53px;
font-size: 38px;
font-weight: 500;
color: #FFFFFF;
line-height: 53px;
margin-bottom: 13px;
}
.subtitle{
height: 39px;
font-size: 18px;
font-weight: 500;
color: #FFFFFF;
line-height: 39px;
}
.thirdUl{
display: flex;
align-items: center;
margin-top: 50px;
margin-bottom: 25px!important;
li{
margin:0px 67px;
color: #fff;
position: relative;
cursor: pointer;
&.active::after{
position: absolute;
content: "";
width: 10px;
height: 10px;
border-radius: 50%;
background-color: #466AFF;
left: 50%;
margin-left: -5px;
bottom: -25px;
}
&>span{
font-weight: 500;
font-size: 22px;
margin-top:10px;
display: block;
height: 30px;
line-height: 30px;
}
&>div{
position: relative;
height: 40px;
width: 40px;
margin:0px 20px;
img{
position: absolute;
&:first-child{
z-index: 2;
}
&:last-child{
z-index: 1;
}
}
}
}
}
.thirdLists{
display: flex;
align-items: center;
margin-top: 48px;
.listbox{
margin-left: 54px;
.listTitle{
height: 30px;
font-size: 18px;
font-weight: 400;
color: #FFFFFF;
line-height: 30px;
position: relative;
margin-bottom: 75px!important;
&::after{
position: absolute;
left: 0px;
width: 39px;
height: 3px;
content: "";
bottom: -20px;
background-color: #466AFF;
}
}
}
li{
display: flex;
height: 22px;
line-height: 22px;
font-size: 16px;
color: #fff;
margin-bottom: 30px!important;
a{
flex:1;
color: #fff!important;
}
span{
margin-left: 40px;
}
}
}
}
.forthEdition{
background:url('./Img/4-bg.png') no-repeat center center;
background-size:cover;
min-height: 621px;
min-width: 1200px;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
.theTitle{
height: 42px;
line-height: 42px;
font-size: 30px;
font-weight: 500;
color: #1E1E1E;
margin-bottom: 50px!important;
}
.qulikyreg{
display: inline-block;
width: 137px;
text-align: center;
height: 58px;
line-height: 58px;
color: #fff!important;
background-color: #466AFF;
border-radius: 6px;
margin-bottom: 80px;
font-size: 18px;
}
.forthUl{
display: flex;
align-items: center;
li{
margin:0px 40px;
display: flex;
flex-direction: column;
align-items: center;
.forthtitle{
height: 30px;
font-size: 22px;
font-weight: 500;
color: #1E1E1E;
line-height: 30px;
display: block;
margin-top: 25px;
}
.forthsubtitle{
height: 22px;
font-size: 16px;
font-weight: 400;
color: #1E1E1E;
line-height: 22px;
margin-top: 15px;
}
}
}
}
.fifthEdition{
display: flex;
flex-direction: column;
align-items: center;
padding:68px 0px;
min-width: 1200px;
.title{
height: 53px;
font-size: 38px;
font-weight: 500;
color: #000000;
line-height: 53px;
}
.subtitle{
height: 39px;
font-size: 18px;
font-weight: 500;
color: #1E1E1E;
line-height: 39px;
margin-top: 13px;
margin-bottom: 54px;
}
}

View File

@ -0,0 +1,41 @@
import React from 'react';
import Img1 from './Img/2-2-1.png';
import ImgHead from './Img/2-2-head.png';
import Img2 from './Img/2-2-2.png';
import Img3 from './Img/2-2-3.png';
import Imgring from './Img/2-2-ring.png';
function SecondEdition(params) {
return(
<div className="secondEditionContent">
<div className="hadoop">
<div className="descBox">
<p className="desc1">分布式协作开发</p>
<p className="desc2">基于Git打造分布式代码托管环境提供免费公私有代码仓库</p>
<p className="desc3">支持在线文件编辑代码分支管理协作贡献统计代码仓库复刻Fork贡献合并请求PR群智贡献审阅等功能</p>
</div>
</div>
<div className="oneStop">
<div className="oneStopContent">
<div className="osLeftMain">
<img src={Img1} alt="" width="494px"/>
<img src={ImgHead} alt="" width="213px" style={{marginLeft:"-12px"}}/>
<img src={Img2} alt="" width="627px" className="osleftPosi1"/>
<img src={Img3} alt="" width="412px" className="osleftPosi2"/>
</div>
<div className="osRightMain">
<p className="osRightTitle">一站式过程管理</p>
<p>提供<span>易修Issue里程碑通知提醒标签归档</span>等多样化任务管理工具支持各类开发任务的发布指派与跟踪</p>
<p>同时提供<span>在线Wiki文档组织多粒度管理</span>等功能为您搭建一站式的项目过程管理环境</p>
<p><span>让您的团队协作更高效过程更透明</span></p>
</div>
</div>
<img src={Imgring} alt="" height="83px"/>
</div>
<div className="highDevops">
<span className="highDoTitle">高效流水线运维</span>
</div>
</div>
)
}
export default SecondEdition

85
src/home/ThirdEdition.jsx Normal file
View File

@ -0,0 +1,85 @@
import React,{ useState , useEffect } from 'react';
import T311 from './Img/3-1-1.png';
import T312 from './Img/3-1-2.png';
import T321 from './Img/3-2-1.png';
import T322 from './Img/3-2-2.png';
import T331 from './Img/3-3-1.png';
import T332 from './Img/3-3-2.png';
import T341 from './Img/3-4-1.png';
import T342 from './Img/3-4-2.png';
import bg3 from './Img/3-1.png';
import './Index.scss';
function ThirdEdition(params) {
const [ active , setActive ] = useState(1);
return(
<div className="thirdEdition">
<p className="title">开发者的家园</p>
<p className="subtitle">一个实现100%开源产学研联合面向软件创新的开源社区</p>
<ul className="thirdUl">
<li className={active===1?"active":""}onClick={()=>setActive(1)}>
<div style={{marginTop:"-10px"}}>
<img src={T311} alt="" height="41px" style={{top:"8px",left:"10px"}}/>
<img src={T312} alt="" width="36px"/>
</div>
<span style={{marginTop:"20px"}}>平台动态</span>
</li>
<li className={active===2?"active":""}onClick={()=>setActive(2)}>
<div>
<img src={T321} alt="" width="32px" style={{left:"8px"}}/>
<img src={T322} alt="" width="26px" style={{top:"8px"}}/>
</div>
<span>优秀仓库</span>
</li>
<li className={active===3?"active":""}onClick={()=>setActive(3)}>
<div>
<img src={T331} alt="" width="33px" style={{right:"3px"}}/>
<img src={T332} alt="" width="29px"/>
</div>
<span>精选文章</span>
</li>
<li className={active===4?"active":""}onClick={()=>setActive(4)}>
<div>
<img src={T341} alt="" width="42px"/>
<img src={T342} alt="" width="26px" style={{top:"13px",left:"7px"}}/>
</div>
<span>经验分享</span>
</li>
</ul>
<div className="thirdLists">
<img src={bg3} alt="" width="336px"/>
<div className="listbox">
<p className="listTitle">Gitlink分享最新平台资讯社区活动通知开源竞赛信息把握开源生态发展脉搏</p>
<li>
<a>第四届中国软件开源创新大赛Gitlink赛道</a>
<span><i className="iconfont "></i>4561</span>
<span>2021-08-26</span>
</li>
<li>
<a>第四届中国软件开源创新大赛Gitlink赛道</a>
<span><i className="iconfont "></i>4561</span>
<span>2021-08-26</span>
</li>
<li>
<a>第四届中国软件开源创新大赛Gitlink赛道</a>
<span><i className="iconfont "></i>4561</span>
<span>2021-08-26</span>
</li>
<li>
<a>第四届中国软件开源创新大赛Gitlink赛道</a>
<span><i className="iconfont "></i>4561</span>
<span>2021-08-26</span>
</li>
<li>
<a>第四届中国软件开源创新大赛Gitlink赛道</a>
<span><i className="iconfont "></i>4561</span>
<span>2021-08-26</span>
</li>
</div>
</div>
</div>
)
}
export default ThirdEdition;

15
src/home/TopEdition.jsx Normal file
View File

@ -0,0 +1,15 @@
import React from 'react';
import { Carousel } from 'antd';
function TopEdition() {
return(
<Carousel autoplay>
<div className="regform1"></div>
<div className="regform2"></div>
<div className="regform3">
<p className="regPrg"><a>注册</a></p>
</div>
</Carousel>
)
}
export default TopEdition;