- -
-
- 知识图谱
-
- -
- 计算机
-
- -
- 电子
-
- -
- 军事理论
-
- -
- 软件工程
-
- -
- 医学
-
- -
- 通信
-
- -
- 政策法规
-
- -
- 大数据
-
- -
- 人工智能
-
+ {
+ taskCategoryArr.map((item, i) => {
+ return (-
+
+ {item.name}
+
)
+ })
+ }
@@ -51,7 +127,7 @@ function FifthSection({ fifth }) {
@@ -67,7 +143,35 @@ function FifthSection({ fifth }) {
defaultActiveKey={['1']}
expandIconPosition="right"
>
-
+ {
+ taskArr.map((item, i) => {
+ return (
+
+ {item.name}
+
+
+
+ {taskModeNameArr[item.taskModeId]}
+ ¥ {item.bounty}
+
+
+
+
+ 发布时间
+ {moment(item.publishedAt || item.createdAt).format('YYYY-MM-DD')}
+
+
+
+
+ 截止时间
+ {getSomeDayAfter(item.publishedAt || item.createdAt, item.collectingDays)}
+
+
+
+ )
+ })
+ }
+ {/*
研发配置要求为包含网络化协同控制仿真验证与多样化目标识别仿真验证模块的1套软件和1份测试报告。
@@ -89,6 +193,7 @@ function FifthSection({ fifth }) {
+
研发配置要求为包含网络化协同控制仿真验证与多样化目标识别仿真验证模块的1套软件和1份测试报告。
@@ -132,7 +237,7 @@ function FifthSection({ fifth }) {
2021-06-20
-
+ */}
diff --git a/src/home/FifthSection/index.scss b/src/home/FifthSection/index.scss
index b3848ad5..1a034804 100644
--- a/src/home/FifthSection/index.scss
+++ b/src/home/FifthSection/index.scss
@@ -1,3 +1,17 @@
+
+$blue1:#254dea;
+$red1 : #e33230;
+$blue2 : #0766fb;
+$red2:#f02c66;
+$purple:#6038ff;
+$red3:#f85e55;
+$redPurple:#c13cff;
+$green : #2cb840;
+$bluePurple:#5744f6;
+$orange : #e9862e;
+
+$bgcolorlist: $red $orange $yellow $green $bluegreen $blue $purple;
+
.home-fifth-section {
min-height: 50vh;
@@ -282,12 +296,13 @@
.circle-center {
width: 100px;
height: 100px;
- padding: 1em 0.5em;
+ padding: 1em 1.25em;
border-radius: 50%;
background: linear-gradient(to bottom right, #2bebd7 0%, #692fd1 100%);
color: #fff;
text-align: center;
- font-size: 18px;
+ font-size: 20px;
+ line-height: 1.4;
}
.circle1 {
@@ -371,7 +386,7 @@
margin-left: 40px;
.home-line {
text-align: left;
- margin-bottom: 20px !important;
+ margin-bottom: 25px !important;
}
}
@@ -380,7 +395,7 @@
background: inherit;
.ant-collapse-item {
border: 0;
- margin-bottom: 30px;
+ margin-bottom: 15px;
}
.ant-collapse-item:last-child,
.ant-collapse-item:last-child > .ant-collapse-header {
@@ -396,7 +411,13 @@
color: #0a1255;
letter-spacing: 0;
font-weight: 500;
- padding: 27px 36px;
+ padding: 27px 45px 27px 36px;
+
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: ellipsis;
+
+ max-width: 560px;
.ant-collapse-arrow {
display: inline-flex;
@@ -447,7 +468,6 @@
}
.collapse-content {
padding: 12px;
- width: 336px;
background: #f5f7fa;
border-radius: 4px;
diff --git a/src/home/FirstSection/index.jsx b/src/home/FirstSection/index.jsx
index 6229331e..4153d628 100644
--- a/src/home/FirstSection/index.jsx
+++ b/src/home/FirstSection/index.jsx
@@ -1,18 +1,43 @@
-import React, { memo } from 'react';
+import React, { memo, useEffect, useState } from 'react';
import { Button } from 'antd';
import './index.scss';
-import circle from '../img/circle.png';
-import code from '../img/code.png';
-import glass from '../img/glass.png';
-import logo from '../img/logo.png';
-import pillar from '../img/pillar.png';
-import text1 from '../img/text1.png';
-import text2 from '../img/text2.png';
-import text3 from '../img/text3.png';
-import text4 from '../img/text4.png';
+// import circle from '../img/circle.png';
+import circle from '../img/1-circle.png';
+import code1 from '../img/1-code.png';
+import codeBed from '../img/1-code-bed.png';
+import glass from '../img/1-glass.png';
+import logo from '../img/1-logo.png';
+import box1 from '../img/1-box1.png';
+import box2 from '../img/1-box2.png';
+import box3 from '../img/1-box3.png';
+import box4 from '../img/1-box4.png';
+
+import text1 from '../img/1-text1.png';
+import text2 from '../img/1-text2.png';
+import text3 from '../img/1-text3.png';
+import text4 from '../img/1-text4.png';
function FirstSection({ first }) {
+
+ const [circulation, setCirculation] = useState('');
+
+ useEffect(() => {
+ const playGlass = document.getElementById("playGlass");
+ playGlass.addEventListener("webkitAnimationEnd", () => {
+ setCirculation('circulation');
+ });
+ return () => {
+ setCirculation('');
+ playGlass.removeEventListener("webkitAnimationEnd");
+ };
+ }, []);
+
+ useEffect(() => {
+ setCirculation('');
+ }, [first]);
+
+
return (
@@ -30,16 +55,27 @@ function FirstSection({ first }) {
-
-
![]({glass})
-
![]({circle})
-
![]({code})
-
![]({pillar})
-
![]({logo})
-
![]({text1})
-
![]({text2})
+
![]({text4})
+
![]({logo})
+
![]({glass})
+
+
![]({codeBed})
+
![]({code1})
+
+
![]({circle})
+
+
+
+
+
![]({box4})
+
![]({box3})
+
![]({box2})
+
![]({box1})
+
![]({text1})
+
![]({text2})
+
@@ -55,8 +91,8 @@ function FirstSection({ first }) {
*/}
{/*
*/}
-
-
+
+
diff --git a/src/home/FirstSection/index.scss b/src/home/FirstSection/index.scss
index b96b23dc..5138c469 100644
--- a/src/home/FirstSection/index.scss
+++ b/src/home/FirstSection/index.scss
@@ -1,23 +1,24 @@
.home-first-section {
- height: 90vh;
- min-height: 650px;
- background: linear-gradient(
- #1a2358 0%,
- #12277b 33%,
- #0c2d8f 67%,
- #002a89 100%
- );
+ height: 90vh;
+ min-height: 650px;
+ background: linear-gradient(
+ #1a2358 0%,
+ #12277b 33%,
+ #0c2d8f 67%,
+ #002a89 100%
+ );
.grid-picture {
position: relative;
height: 100%;
background: url(../img/grid.png) no-repeat;
background-size: 100% auto;
- .waves{
+ .waves {
position: absolute;
left: 0;
right: 0;
bottom: 0;
+ height: 10vh;
}
}
@@ -25,7 +26,7 @@
display: flex;
justify-content: space-between;
align-items: center;
- height: 82vh;
+ height: 80vh;
min-height: 600px;
}
@@ -55,13 +56,11 @@
opacity: 0.8;
}
- .website-more{
+ .website-more {
margin: 0;
}
}
-
-
.play-img {
display: flex;
flex: none;
@@ -83,10 +82,25 @@
.play-circle {
position: absolute;
width: 165px;
+ height: 160px;
right: 18%;
+ bottom: -5.5%;
z-index: 2;
// animation: circle 0.75s 1 forwards;
}
+
+ .play-circle-circle1,.play-circle-circle2,.play-circle-circle3,.play-circle-circle4,.play-circle-circle5 {
+ position: absolute;
+ width: 85px;
+ height: 53px;
+ right: 24.1%;
+ bottom: 9%;
+ z-index: 2;
+ border: 1px solid rgb(73, 169, 241);
+ // border: 1px solid rgb(49, 82, 237);
+ border-radius: 50%;
+ }
+
.play-pillar {
position: absolute;
left: -11%;
@@ -94,20 +108,64 @@
width: 230px;
// animation: pillar 0.75s 1 forwards;
}
- .play-code {
+ .play-box1 {
+ position: absolute;
+ left: -7%;
+ bottom: 30%;
+ width: 57px;
+ // animation: box1 0.75s 1 forwards;
+ }
+ .play-box2 {
+ position: absolute;
+ left: -1%;
+ bottom: 34%;
+ width: 57px;
+ // animation: box2 0.75s 1 forwards;
+ }
+ .play-box3 {
+ position: absolute;
+ left: 5%;
+ bottom: 38%;
+ width: 57px;
+ // animation: box3 0.75s 1 forwards;
+ }
+ .play-box4 {
+ position: absolute;
+ left: 11%;
+ bottom: 42%;
+ width: 57px;
+ // animation: box4 0.75s 1 forwards;
+ }
+
+ // .play-code {
+ // position: absolute;
+ // right: -4%;
+ // top: 18%;
+ // width: 211px;
+ // z-index: 1;
+ // }
+ .play-code1 {
+ position: absolute;
+ right: 1%;
+ top: 33%;
+ width: 128px;
+ z-index: 1;
+ }
+ .play-code-bed {
position: absolute;
right: -4%;
- top: 18%;
+ top: 44%;
width: 211px;
z-index: 1;
- // animation: code 0.75s 1 forwards;
+ opacity: 1;
}
.play-logo {
position: absolute;
top: 25%;
width: 87px;
- // animation: logo 1.5s 0.5s infinite;
z-index: 10;
+ color: #fff;
+ font-size: 40px;
}
.play-text1 {
position: absolute;
@@ -115,7 +173,6 @@
// right: 5%;
// width: 262px;
// bottom: 11%;
- // animation: text1-show 0.5s 1 0.5s forwards;
}
.play-text2 {
position: absolute;
@@ -123,55 +180,111 @@
// bottom: 10%;
// left: 6%;
// width: 262px;
- // animation: text2-show 0.5s 1 0.5s forwards;
}
.play-text3 {
position: absolute;
// right: 6%;
// top: -4%;
// width: 227px;
- // animation: text3-show 0.5s 1 0.5s forwards;
}
.play-text4 {
position: absolute;
// top: 7%;
// left: 18%;
// width: 206px;
- // animation: text4-show 0.5s 1 0.5s forwards;
}
}
-
- .active{
+ .active {
.website {
animation: website 0.75s 1 forwards;
}
- .play-glass{
+ .play-glass {
animation: glass 0.75s 1 forwards;
}
.play-circle {
animation: circle 0.75s 1 forwards;
}
- .play-pillar {
- animation: pillar 0.75s 1 forwards;
+ .play-circle-circle1,.play-circle-circle2,.play-circle-circle3,.play-circle-circle4,.play-circle-circle5{
+ animation: circle-before 0.75s 1 forwards;
}
- .play-code {
- animation: code 0.75s 1 forwards;
+ // .play-pillar {
+ // animation: pillar 0.75s 1 forwards;
+ // }
+ .play-box1 {
+ animation: box1 0.75s 1 forwards;
+ }
+ .play-box2 {
+ animation: box2 0.75s 1 forwards;
+ }
+ .play-box3 {
+ animation: box3 0.75s 1 forwards;
+ }
+ .play-box4 {
+ animation: box4 0.75s 1 forwards;
+ }
+ // .play-code {
+ // animation: code 0.75s 1 forwards;
+ // }
+ .play-code1 {
+ animation: code1 0.75s 1 forwards;
+ }
+ .play-code-bed {
+ animation: codeBed 0.75s 1 forwards;
}
.play-logo {
- animation: logo 1.5s 0.5s infinite;
+ animation: logo 6s 0.5s infinite; //linear
}
.play-text1 {
- animation: text1-show 0.5s 1 0.5s forwards;
+ // animation: text1-show 0.5s 1 0.5s forwards;
+ animation: text1-show 6s 0.5s infinite;
}
.play-text2 {
- animation: text2-show 0.5s 1 0.5s forwards;
+ animation: text2-show 6s 0.5s infinite;
}
.play-text3 {
- animation: text3-show 0.5s 1 0.5s forwards;
+ animation: text3-show 6s 0.5s infinite;
}
.play-text4 {
- animation: text4-show 0.5s 1 0.5s forwards;
+ animation: text4-show 6s 0.5s infinite;
+ }
+
+ .circulation {
+ .play-code1 {
+ animation: code1-circulation 6s infinite;
+ }
+
+ .play-box1 {
+ animation: box1-circulation 2s infinite;
+ }
+
+ .play-box2 {
+ animation: box2-circulation 2s infinite;
+ }
+
+ .play-box3 {
+ animation: box3-circulation 2s infinite;
+ }
+
+ .play-box4 {
+ animation: box4-circulation 2s infinite;
+ }
+
+ .play-circle-circle1{
+ animation: circle-circle 6s 0.25s infinite;
+ }
+ .play-circle-circle2{
+ animation: circle-circle 6s 2.25s infinite;
+ }
+ .play-circle-circle3{
+ animation: circle-circle 6s 4.25s infinite;
+ }
+ // .play-circle-circle4{
+ // animation: circle-circle 6s 4.5s infinite;
+ // }
+ // .play-circle-circle5{
+ // animation: circle-circle 6s 6s infinite;
+ // }
}
}
@@ -185,9 +298,7 @@
opacity: 1;
}
}
-
-
-
+
@keyframes glass {
0% {
opacity: 0;
@@ -200,25 +311,103 @@
top: 0;
}
}
-
+
@keyframes logo {
- 10% {
- opacity: 0;
- top: 33%;
- transform: rotateY(0deg);
+ 0% {
+ opacity: 1;
+ top: 23%;
+ // transform: scale(.5);
+ // transform: rotateY(0deg);
}
50% {
opacity: 1;
top: 12%;
- transform: rotateY(360deg);
+ // transform: scale(1.2);
+ // transform: rotateY(360deg);
}
- 90% {
- opacity: 0;
- top: 33%;
- transform: rotateY(360deg);
+ 100% {
+ opacity: 1;
+ top: 23%;
+ // transform: scale(.5);
+ // transform: rotateY(360deg);
}
}
-
+
+ // logo动效方案一
+ // @keyframes logo {
+ // 10% {
+ // opacity: 0;
+ // top: 33%;
+ // transform: rotateY(0deg);
+ // }
+ // 50% {
+ // opacity: 1;
+ // top: 12%;
+ // transform: rotateY(360deg);
+ // }
+ // 90% {
+ // opacity: 0;
+ // top: 33%;
+ // transform: rotateY(360deg);
+ // }
+ // }
+
+ // logo动效方案二
+ // @keyframes logo {
+ // 15% {
+ // opacity: 0;
+ // top: 33%;
+ // // transform: rotate(0deg);
+ // }
+ // 40% {
+ // opacity: 1;
+ // top: 10%;
+ // transform: rotateX(0deg);
+ // }
+ // 60% {
+ // opacity: 1;
+ // top: 10%;
+ // transform: rotateX(360deg);
+ // }
+ // 85% {
+ // opacity: 0;
+ // top: 40%;
+ // // transform: rotateY(360deg);
+ // }
+ // }
+
+ // logo动效方案三
+ // @keyframes logo {
+ // 0% {
+ // opacity: 1;
+ // top: 10%;
+ // transform: rotateY(0deg);
+ // }
+
+ // 25% {
+ // opacity: 1;
+ // top: 10%;
+ // transform: rotateY(90deg);
+ // }
+ // 50% {
+ // opacity: 1;
+ // top: 10%;
+ // transform: rotateY(180deg);
+ // }
+
+ // 75% {
+ // opacity: 1;
+ // top: 10%;
+ // transform: rotateY(270deg);
+ // }
+
+ // 100% {
+ // opacity: 1;
+ // top: 10%;
+ // transform: rotateY(360deg);
+ // }
+ // }
+
@keyframes circle {
0% {
opacity: 0;
@@ -229,86 +418,357 @@
bottom: -5.5%;
}
}
-
- @keyframes pillar {
+
+ @keyframes circle-before {
0% {
opacity: 0;
- top: 47%;
+ bottom: -1%;
}
100% {
opacity: 1;
- top: 38%;
+ bottom: 9%;
}
}
-
- @keyframes code {
+
+ // @keyframes pillar {
+ // 0% {
+ // opacity: 0;
+ // top: 47%;
+ // }
+ // 100% {
+ // opacity: 1;
+ // top: 38%;
+ // }
+ // }
+
+ @keyframes box1 {
0% {
opacity: 0;
- top: 40%;
+ bottom: 20%;
}
100% {
+ opacity: 1;
+ bottom: 30%;
+ }
+ }
+
+ @keyframes box2 {
+ 0% {
+ opacity: 0;
+ bottom: 24%;
+ }
+ 100% {
+ opacity: 1;
+ bottom: 34%;
+ }
+ }
+
+ @keyframes box3 {
+ 0% {
+ opacity: 0;
+ bottom: 28%;
+ }
+ 100% {
+ opacity: 1;
+ bottom: 38%;
+ }
+ }
+
+ @keyframes box4 {
+ 0% {
+ opacity: 0;
+ bottom: 32%;
+ }
+ 100% {
+ opacity: 1;
+ bottom: 42%;
+ }
+ }
+
+ @keyframes box1-circulation {
+ 0% {
+ opacity: 1;
+ height: 60px;
+ }
+ 48% {
+ height: 65px;
+ }
+ 52% {
+ height: 65px;
+ }
+ 100% {
+ height: 60px;
+ opacity: 1;
+ }
+ }
+
+ @keyframes box2-circulation {
+ 0% {
+ height: 96px;
+ opacity: 1;
+ }
+ 48% {
+ height: 90px;
+ }
+ 52% {
+ height: 90px;
+ }
+ 100% {
+ height: 96px;
+ opacity: 1;
+ }
+ }
+
+ @keyframes box3-circulation {
+ 0% {
+ height: 128px;
+ opacity: 1;
+ }
+ 48% {
+ height: 135px;
+ }
+ 52% {
+ height: 135px;
+ }
+ 100% {
+ height: 128px;
+ opacity: 1;
+ }
+ }
+
+ @keyframes box4-circulation {
+ 0% {
+ height: 113px;
+ opacity: 1;
+ }
+ 48% {
+ height: 108px;
+ }
+ 52% {
+ height: 108px;
+ }
+ 100% {
+ height: 113px;
+ opacity: 1;
+ }
+ }
+
+ // @keyframes code {
+ // 0% {
+ // opacity: 0;
+ // top: 40%;
+ // }
+ // 100% {
+ // opacity: 1;
+ // top: 30%;
+ // }
+ // }
+
+ @keyframes code1 {
+ 0% {
+ opacity: 0;
+ top: 43%;
+ }
+ 100% {
+ opacity: 1;
+ top: 33%;
+ }
+ }
+
+ @keyframes code1-circulation {
+ 0% {
+ opacity: 1;
+ top: 33%;
+ }
+ 50% {
opacity: 1;
top: 30%;
}
+ 100% {
+ opacity: 1;
+ top: 33%;
+ }
}
-
+
+ @keyframes codeBed {
+ 0% {
+ opacity: 0;
+ top: 54%;
+ }
+ 100% {
+ opacity: 1;
+ top: 44%;
+ }
+ }
+
@keyframes text1-show {
- from {
+ 5% {
opacity: 0;
width: 0;
bottom: 36%;
right: 60%;
}
- to {
+ 20% {
opacity: 1;
width: 262px;
bottom: 12%;
left: 55%;
}
- }
-
- @keyframes text2-show {
- from {
+ 80% {
+ opacity: 1;
+ width: 262px;
+ bottom: 12%;
+ left: 55%;
+ }
+ 100% {
opacity: 0;
width: 0;
bottom: 36%;
right: 60%;
}
- to {
+ }
+
+ @keyframes text2-show {
+ 5% {
+ opacity: 0;
+ width: 0;
+ bottom: 36%;
+ right: 60%;
+ }
+ 20% {
opacity: 1;
width: 262px;
bottom: 10%;
right: 56%;
}
+ 80% {
+ opacity: 1;
+ width: 262px;
+ bottom: 10%;
+ right: 56%;
+ }
+ 100% {
+ opacity: 0;
+ width: 0;
+ bottom: 36%;
+ right: 60%;
+ }
}
-
+
@keyframes text3-show {
- from {
+ 5% {
opacity: 0;
width: 0;
right: 36%;
top: 50%;
}
- to {
+ 20% {
opacity: 1;
right: 8%;
top: 6%;
width: 227px;
}
- }
-
- @keyframes text4-show {
- from {
+ 80% {
+ opacity: 1;
+ right: 8%;
+ top: 6%;
+ width: 227px;
+ }
+ 100% {
opacity: 0;
width: 0;
right: 36%;
top: 50%;
}
- to {
+ }
+
+ @keyframes text4-show {
+ 5% {
+ opacity: 0;
+ width: 0;
+ right: 50%;
+ top: 50%;
+ }
+ 20% {
opacity: 1;
top: 14%;
right: 55%;
width: 206px;
}
+ 80% {
+ opacity: 1;
+ top: 14%;
+ right: 55%;
+ width: 206px;
+ }
+ 100% {
+ opacity: 0;
+ width: 0;
+ right: 50%;
+ top: 50%;
+ }
}
-}
\ No newline at end of file
+
+ @keyframes circle-circle {
+ // 0% {
+ // transform: scale(1);
+ // opacity: 1;
+ // bottom: 9%;
+ // }
+
+ // 20% {
+ // transform: scale(1.1);
+ // opacity: 0.75;
+ // bottom: 9.25%;
+ // }
+
+ // 40% {
+ // transform: scale(1.25);
+ // opacity: 0.5;
+ // bottom: 9.6%;
+ // }
+
+ // 60% {
+ // transform: scale(1.45);
+ // opacity: 0.35;
+ // bottom: 10.1%;
+ // }
+
+ // 80% {
+ // transform: scale(1.7);
+ // opacity: 0.2;
+ // bottom: 10.6%;
+ // }
+
+ // 100% {
+ // transform: scale(2);
+ // opacity: 0;
+ // bottom: 11.5%;
+ // }
+
+ 0% {
+ transform: scale(1);
+ opacity: 1;
+ bottom: 9%;
+ }
+
+ 33% {
+ transform: scale(1.2);
+ opacity: 0.7;
+ bottom: 9.5%;
+ }
+
+
+ 67% {
+ transform: scale(1.5);
+ opacity: 0.35;
+ bottom: 10.2%;
+ }
+
+ 100% {
+ transform: scale(2);
+ opacity: 0;
+ bottom: 11.5%;
+ }
+ }
+}
diff --git a/src/home/FourthSection/index.jsx b/src/home/FourthSection/index.jsx
index da2ad83d..17c820fd 100644
--- a/src/home/FourthSection/index.jsx
+++ b/src/home/FourthSection/index.jsx
@@ -1,27 +1,27 @@
import React, { memo } from 'react';
import { Button } from 'antd';
import Line from '../Line';
-import logoLine from '../img/logoLine.png';
-import task from '../img/task.png';
-import codeManage from '../img/codeManage.png';
-import versionManage from '../img/versionManage.png';
-import editorInline from '../img/editorInline.png';
-import teamwork from '../img/teamwork.png';
+import logoLine from '../img/4-logo.png';
+import task from '../img/4-task.png';
+import codeManage from '../img/4-codeManage.png';
+import versionManage from '../img/4-versionManage.png';
+import editorInline from '../img/4-editorInline.png';
+import teamwork from '../img/4-teamwork.png';
import './index.scss';
const code = [
{ str:
latest: Pulling from appleboy/drone-ssh },
{ str:
Digest:sha256:095ca4ceafcb7 },
{ str:
Status:Image is up to date for appleboy/drone-ssh:latest },
- { str:
======CMD====== },
+ { str:
echo ====开始部署======= },
// { str:
echo ====暂停容器开始======= },
{ str:
docker rm -f mo-test },
{ str:
docker rmi mo-test:1.0 },
// { str:
cd /opt/demo },
- { str:
echo ====开始部署======= },
{ str:
docker build -t mo-test:1.0 . },
{ str:
docker run -d -p 8080:8080 --name mo-test mo-test:1.0 },
- { str:
echo ====部署成功====== },
+ { str:
echo ====部署成功======= },
+ { str:
~/opt/Users/demo/app/static/ },
// { str:
======END====== },
]
@@ -42,44 +42,48 @@ function FourthSection({ fourth }) {
-
-
- 1
-
- c
- d
- /o
- pt
- /Us
- ers
- /de
- mo
- /app
- /sta
- tic
-
-
-
- {
- code.map((i, k) => {
- return (
-
{k + 2}{i.str}
- )
- })
- }
+
-