diff --git a/public/css/iconfont.css b/public/css/iconfont.css index 7e0e2c7e6..b670775ca 100644 --- a/public/css/iconfont.css +++ b/public/css/iconfont.css @@ -1,8 +1,8 @@ @font-face { font-family: "iconfont"; /* Project id 2340181 */ - src: url('iconfont.woff2?t=1631773579834') format('woff2'), - url('iconfont.woff?t=1631773579834') format('woff'), - url('iconfont.ttf?t=1631773579834') format('truetype'); + src: url('iconfont.woff2?t=1632738478946') format('woff2'), + url('iconfont.woff?t=1632738478946') format('woff'), + url('iconfont.ttf?t=1632738478946') format('truetype'); } .iconfont { @@ -13,6 +13,26 @@ -moz-osx-font-smoothing: grayscale; } +.icon-xiangyoujiantou:before { + content: "\e8de"; +} + +.icon-xiangzuojiantou:before { + content: "\e8df"; +} + +.icon-a-liulanicon2x:before { + content: "\e8dd"; +} + +.icon-wenjianicon:before { + content: "\e8dc"; +} + +.icon-a-yuanquan2x:before { + content: "\e8db"; +} + .icon-xiangmubiaoqian:before { content: "\e8da"; } diff --git a/public/css/iconfont.js b/public/css/iconfont.js index f38ef2a3a..1363ceabe 100644 --- a/public/css/iconfont.js +++ b/public/css/iconfont.js @@ -1 +1 @@ -!function(c){var a,l,h,i,o,z='',t=(t=document.getElementsByTagName("script"))[t.length-1].getAttribute("data-injectcss"),p=function(c,a){a.parentNode.insertBefore(c,a)};if(t&&!c.__iconfont__svg__cssinject__){c.__iconfont__svg__cssinject__=!0;try{document.write("")}catch(c){console&&console.log(c)}}function v(){o||(o=!0,h())}function m(){try{i.documentElement.doScroll("left")}catch(c){return void setTimeout(m,50)}v()}a=function(){var c,a;(a=document.createElement("div")).innerHTML=z,z=null,(c=a.getElementsByTagName("svg")[0])&&(c.setAttribute("aria-hidden","true"),c.style.position="absolute",c.style.width=0,c.style.height=0,c.style.overflow="hidden",a=c,(c=document.body).firstChild?p(a,c.firstChild):c.appendChild(a))},document.addEventListener?~["complete","loaded","interactive"].indexOf(document.readyState)?setTimeout(a,0):(l=function(){document.removeEventListener("DOMContentLoaded",l,!1),a()},document.addEventListener("DOMContentLoaded",l,!1)):document.attachEvent&&(h=a,i=c.document,o=!1,m(),i.onreadystatechange=function(){"complete"==i.readyState&&(i.onreadystatechange=null,v())})}(window); \ No newline at end of file +!function(c){var l,a,h,i,o,z='',t=(t=document.getElementsByTagName("script"))[t.length-1].getAttribute("data-injectcss"),p=function(c,l){l.parentNode.insertBefore(c,l)};if(t&&!c.__iconfont__svg__cssinject__){c.__iconfont__svg__cssinject__=!0;try{document.write("")}catch(c){console&&console.log(c)}}function v(){o||(o=!0,h())}function m(){try{i.documentElement.doScroll("left")}catch(c){return void setTimeout(m,50)}v()}l=function(){var c,l;(l=document.createElement("div")).innerHTML=z,z=null,(c=l.getElementsByTagName("svg")[0])&&(c.setAttribute("aria-hidden","true"),c.style.position="absolute",c.style.width=0,c.style.height=0,c.style.overflow="hidden",l=c,(c=document.body).firstChild?p(l,c.firstChild):c.appendChild(l))},document.addEventListener?~["complete","loaded","interactive"].indexOf(document.readyState)?setTimeout(l,0):(a=function(){document.removeEventListener("DOMContentLoaded",a,!1),l()},document.addEventListener("DOMContentLoaded",a,!1)):document.attachEvent&&(h=l,i=c.document,o=!1,m(),i.onreadystatechange=function(){"complete"==i.readyState&&(i.onreadystatechange=null,v())})}(window); \ No newline at end of file diff --git a/public/css/iconfont.json b/public/css/iconfont.json index 42dec3471..3d3db1638 100644 --- a/public/css/iconfont.json +++ b/public/css/iconfont.json @@ -5,6 +5,41 @@ "css_prefix_text": "icon-", "description": "", "glyphs": [ + { + "icon_id": "630094", + "name": "向右箭头", + "font_class": "xiangyoujiantou", + "unicode": "e8de", + "unicode_decimal": 59614 + }, + { + "icon_id": "630095", + "name": "向左箭头", + "font_class": "xiangzuojiantou", + "unicode": "e8df", + "unicode_decimal": 59615 + }, + { + "icon_id": "24600282", + "name": "浏览icon@2x", + "font_class": "a-liulanicon2x", + "unicode": "e8dd", + "unicode_decimal": 59613 + }, + { + "icon_id": "24567893", + "name": "文件icon", + "font_class": "wenjianicon", + "unicode": "e8dc", + "unicode_decimal": 59612 + }, + { + "icon_id": "24527422", + "name": "圆圈@2x", + "font_class": "a-yuanquan2x", + "unicode": "e8db", + "unicode_decimal": 59611 + }, { "icon_id": "24378423", "name": "项目标签", diff --git a/public/css/iconfont.ttf b/public/css/iconfont.ttf index a559db11e..26a5c80d6 100644 Binary files a/public/css/iconfont.ttf and b/public/css/iconfont.ttf differ diff --git a/public/css/iconfont.woff b/public/css/iconfont.woff index 2076f553a..6c2fafd6a 100644 Binary files a/public/css/iconfont.woff and b/public/css/iconfont.woff differ diff --git a/public/css/iconfont.woff2 b/public/css/iconfont.woff2 index 3031b14a1..16677ef86 100644 Binary files a/public/css/iconfont.woff2 and b/public/css/iconfont.woff2 differ diff --git a/src/App.js b/src/App.js index 442d4f323..21e88e990 100644 --- a/src/App.js +++ b/src/App.js @@ -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' ? - { - return () - } + { + return () } - /> : pathType === 'Organization' ? { - return () - } - }> - : pathType === '404' ? : - ( - personal && personal.length > 0 ? - - : - - ) - } - /> - // - // + } + /> : pathType === 'Organization' ? { + return () + } + }> + : pathType === '404' ? : + "" } - - + ( + + ) + } + /> {/* 个人主页 */} -
+
{value && showhtml(value)} - {/* -

© Copyright 2007~2021 国防科技大学Trustie团队 & IntelliDE 湘ICP备 17009477号

*/} + {/*
+
+
    + Gitlink(确实开源) +

    (确实开源)

    +
+ + +
    +
  • 加入我们
  • +
  • +
    +
  • 公众号
  • + 公众号 +
+
+
  • qq群
  • + qq群 +
    + + +
    +

    ©Copyright 2007~2021 国防科技大学Gitlink团队 & IntelliDE
    湘ICP备 17009477号

    +
    */} ) diff --git a/src/forge/Head/header.scss b/src/forge/Head/header.scss index fc8ca9d62..cc751fab1 100644 --- a/src/forge/Head/header.scss +++ b/src/forge/Head/header.scss @@ -126,4 +126,77 @@ width: 110px; text-align: right; } +} + +.footEdition{ + background-color: #171B23; + .footContent{ + display: flex; + align-items: flex-start; + padding:86px 0px; + justify-content: space-around; + width: 1200px; + margin:0px auto; + ul{ + min-width: 120px; + text-align: left; + margin-right: 80px; + &.center{ + text-align: center; + } + &>p{ + height: 22px; + font-size: 16px; + font-weight: 400; + color: #FFFFFF; + line-height: 22px; + } + &>img{ + width: 100px; + height: 100%; + margin-bottom: 30px; + margin-top: 25px; + border-radius: 10px; + } + li{ + height: 20px; + font-size: 14px; + font-weight: 400; + line-height: 20px; + color: #BDC2D1; + margin-bottom: 15px!important; + a{ + color: #BDC2D1!important; + &:hover{ + text-decoration: underline; + } + } + &.thehead{ + height: 25px; + font-size: 18px; + font-weight: 600; + color: #FFFFFF; + line-height: 25px; + margin-bottom: 20px!important; + } + &.theline{ + display: flex; + img{ + width: 80px; + height: 80px; + border-radius: 3px; + } + } + } + } + } + .copyrightDesc{ + font-size: 12px; + font-weight: 400; + color: #BDC2D1; + line-height: 28px; + padding:15px 0px; + text-align: center; + background-color: #1B212C; + } } \ No newline at end of file diff --git a/src/home/FifthEdition.jsx b/src/home/FifthEdition.jsx new file mode 100644 index 000000000..5cb36fd5e --- /dev/null +++ b/src/home/FifthEdition.jsx @@ -0,0 +1,138 @@ +import React , { useEffect } from 'react'; +import Beijing from './Img/unit/beijing.png'; +import SHJT from './Img/unit/SHJT.png'; +import DD from './Img/unit/DD.png'; +import HW from './Img/unit/HW.png'; +import ML from './Img/unit/ML.png'; +import QH from './Img/unit/QH.png'; +import QZ from './Img/unit/QZ.png'; +import TX from './Img/unit/TX.png'; +import XH from './Img/unit/XH.png'; +import XJY from './Img/unit/XJY.png'; +import ZC from './Img/unit/ZC.png'; +import GFKJ from './Img/unit/GFKJ.png'; +import BJHKHT from './Img/unit/BJHKHT.png'; +import ISCAS from './Img/unit/ISCAS.png'; +import NJDX from './Img/unit/NJDX.png'; +import CEC from './Img/unit/CEC.png'; +import KYRJLM from './Img/unit/KYRJLM.png'; +import WXYJY from './Img/unit/WXYJY.png'; +import HSKY from './Img/unit/HSKY.png'; +import LSLM from './Img/unit/LSLM.png'; +import TG from './Img/unit/TG.png'; +import LC from './Img/unit/LC.png'; +import YKD from './Img/unit/YKD.png'; +import { Link } from 'react-router-dom'; + +const list = [ + {image_url:GFKJ, name:"国防科技大学",src:"https://www.nudt.edu.cn/"}, + {image_url:TG, name:"头歌",src:"https://www.educoder.net/"}, + {image_url:XJY, name:"长沙先进技术研究院",src:"https://www.hnjmrh.gov.cn/newweb/service/detail/305/"}, + {image_url:Beijing, name:"北京大学",src:"https://www.pku.edu.cn/"}, + {image_url:BJHKHT, name:"北京航空航天",src:"https://www.buaa.edu.cn/"}, + {image_url:ISCAS, name:"ISCAS",src:"http://www.iscas.ac.cn/"}, + {image_url:NJDX, name:"南京大学",src:"https://www.nju.edu.cn/"}, + {image_url:DD, name:"滴滴",src:"https://www.didiglobal.com/"}, + {image_url:CEC, name:"CEC",src:"https://www.cec.com.cn/"}, + {image_url:HW, name:"华为",src:"https://www.huawei.com/"}, + {image_url:ML, name:"木兰开源社区",src:"https://www.mulanos.cn/"}, + {image_url:TX, name:"腾讯",src:"https://www.tencent.com/zh-cn"}, + {image_url:KYRJLM, name:"中国开源软件推进联盟",src:"http://www.copu.org.cn/"}, + {image_url:WXYJY, name:"无锡大数据研究院",src:""}, + {image_url:QZ, name:"openi启智",src:"https://www.openi.org.cn/"}, + {image_url:HSKY, name:"红山开源",src:"https://osredm.com/"}, + {image_url:LSLM, name:"绿色产业联盟",src:"https://www.opengcc.org/"}, + {image_url:ZC, name:"中创软件",src:"http://www.cvicse.com/"}, + {image_url:LC, name:"浪潮",src:"https://cloud.inspur.com/"}, + {image_url:YKD, name:"ucloud",src:"https://www.ucloud.cn/"} +] +// const settings = { +// dots: false, +// infinite: true, +// slidesToShow: 6, +// slidesToScroll: 1, +// autoplay: true, +// speed: 2000, +// autoplaySpeed: 2000, +// cssEase: "linear", +// rows:2, +// arrows:false +// }; +function FifthEdition() { + + useEffect(()=>{ + if(list.length>10){ + Init(); + } + },[]) + + function Init() { + let box = document.getElementById('scrollBox1'); + scrollUp(); + var myTimer = setInterval(scrollUp, 10); + // 鼠标移入container 元素上 清除定时器 停止滚动 + box.onmouseover = () => { + clearInterval(myTimer); + } + // 鼠标移出container 元素上 继续滚动 + // 60表示每隔60毫秒向上滚动一次 + box.onmouseout = () => { + myTimer = setInterval(scrollUp, 10); + } + } + + function scrollUp() { + let box = document.getElementById('scrollBox1'); + if(box){ + let con1 = document.getElementById('box1'); + if (box.scrollLeft >= con1.clientWidth) { + box.scrollLeft = 0; + } else { + box.scrollLeft++; + } + } + } + + return( +
    +
    +
      + { + list && list.map((i,k)=>{ + return( +
    • {i.name}/
    • + ) + }) + } +
    + {list.length > 10 && +
      + { + list && list.map((i,k)=>{ + return( +
    • {i.name}/
    • + ) + }) + } +
    + } +
    + {/* + { + list && list.map((i,k)=>{ + return( +
  • {i.name}/
  • + ) + }) + } + {list.length > 10 && list && list.map((i,k)=>{ + return( +
  • {i.name}/
  • + ) + }) + } +
    */} +
    + ) +} +export default FifthEdition; \ No newline at end of file diff --git a/src/home/Footnav.jsx b/src/home/Footnav.jsx new file mode 100644 index 000000000..8e114497f --- /dev/null +++ b/src/home/Footnav.jsx @@ -0,0 +1,44 @@ +import React from 'react'; +import Img from './Img/gitlink.png'; +import qqImg from './Img/qq.png'; +function Footnav() { + return( +
    +
    +
      + Gitlink(确实开源) +

      (确实开源)

      +
    + + +
      +
    • 加入我们
    • +
    • + {/*
      +
    • 公众号
    • + 公众号 +
    */} +
    +
  • qq群
  • + qq群 +
    + + +
    +

    ©Copyright 2007~2021 国防科技大学Gitlink团队 & IntelliDE
    湘ICP备 17009477号

    + + ) +} +export default Footnav; \ No newline at end of file diff --git a/src/home/Headnav.jsx b/src/home/Headnav.jsx new file mode 100644 index 000000000..06cfa850c --- /dev/null +++ b/src/home/Headnav.jsx @@ -0,0 +1,30 @@ +import React from 'react'; +import './Index.scss'; +import gitlink from './Img/gitlink.png'; + +function HeadNav({showLoginDialog,mygetHelmetapi}) { + const register = mygetHelmetapi && mygetHelmetapi.common && mygetHelmetapi.common.register; + const navbar = mygetHelmetapi && mygetHelmetapi.navbar; + return( +
    +
    +
      +
    • gitlink
    • + { + navbar && navbar.length>0&& + navbar.map((i,k)=>{ + return( +
    • {i.name}
    • + ) + }) + } +
    +
    + 登录 + 注册 +
    +
    +
    + ) +} +export default HeadNav; \ No newline at end of file diff --git a/src/home/Img/2-1bg.png b/src/home/Img/2-1bg.png new file mode 100644 index 000000000..6e38e8282 Binary files /dev/null and b/src/home/Img/2-1bg.png differ diff --git a/src/home/Img/2-2-1.png b/src/home/Img/2-2-1.png new file mode 100644 index 000000000..5adfb747e Binary files /dev/null and b/src/home/Img/2-2-1.png differ diff --git a/src/home/Img/2-2-2.png b/src/home/Img/2-2-2.png new file mode 100644 index 000000000..1dde507a8 Binary files /dev/null and b/src/home/Img/2-2-2.png differ diff --git a/src/home/Img/2-2-3.png b/src/home/Img/2-2-3.png new file mode 100644 index 000000000..b0a9f6d02 Binary files /dev/null and b/src/home/Img/2-2-3.png differ diff --git a/src/home/Img/2-2-head.png b/src/home/Img/2-2-head.png new file mode 100644 index 000000000..19167bc1d Binary files /dev/null and b/src/home/Img/2-2-head.png differ diff --git a/src/home/Img/2-2-ring.png b/src/home/Img/2-2-ring.png new file mode 100644 index 000000000..f1278c5b4 Binary files /dev/null and b/src/home/Img/2-2-ring.png differ diff --git a/src/home/Img/2-3-1.png b/src/home/Img/2-3-1.png new file mode 100644 index 000000000..d3ffe77ec Binary files /dev/null and b/src/home/Img/2-3-1.png differ diff --git a/src/home/Img/2-3-1big.png b/src/home/Img/2-3-1big.png new file mode 100644 index 000000000..d3ffe77ec Binary files /dev/null and b/src/home/Img/2-3-1big.png differ diff --git a/src/home/Img/2-3-2.png b/src/home/Img/2-3-2.png new file mode 100755 index 000000000..754ed62b0 Binary files /dev/null and b/src/home/Img/2-3-2.png differ diff --git a/src/home/Img/2-3-2的副本.png b/src/home/Img/2-3-2的副本.png new file mode 100644 index 000000000..9d4bc7a75 Binary files /dev/null and b/src/home/Img/2-3-2的副本.png differ diff --git a/src/home/Img/2-3-3.png b/src/home/Img/2-3-3.png new file mode 100644 index 000000000..5728f8392 Binary files /dev/null and b/src/home/Img/2-3-3.png differ diff --git a/src/home/Img/2-3-4.png b/src/home/Img/2-3-4.png new file mode 100644 index 000000000..c3ba36e26 Binary files /dev/null and b/src/home/Img/2-3-4.png differ diff --git a/src/home/Img/2-3bg.png b/src/home/Img/2-3bg.png new file mode 100644 index 000000000..b79e16a26 Binary files /dev/null and b/src/home/Img/2-3bg.png differ diff --git a/src/home/Img/2-4-1.png b/src/home/Img/2-4-1.png new file mode 100644 index 000000000..e768466cf Binary files /dev/null and b/src/home/Img/2-4-1.png differ diff --git a/src/home/Img/2-4bg.png b/src/home/Img/2-4bg.png new file mode 100644 index 000000000..1d88f5b6f Binary files /dev/null and b/src/home/Img/2-4bg.png differ diff --git a/src/home/Img/2-5-1.png b/src/home/Img/2-5-1.png new file mode 100644 index 000000000..788d52857 Binary files /dev/null and b/src/home/Img/2-5-1.png differ diff --git a/src/home/Img/2-5-2.png b/src/home/Img/2-5-2.png new file mode 100644 index 000000000..42ef098c7 Binary files /dev/null and b/src/home/Img/2-5-2.png differ diff --git a/src/home/Img/2-5bg.png b/src/home/Img/2-5bg.png new file mode 100644 index 000000000..e2fa217aa Binary files /dev/null and b/src/home/Img/2-5bg.png differ diff --git a/src/home/Img/2-6-1.png b/src/home/Img/2-6-1.png new file mode 100644 index 000000000..628b630f2 Binary files /dev/null and b/src/home/Img/2-6-1.png differ diff --git a/src/home/Img/2-6-2.png b/src/home/Img/2-6-2.png new file mode 100644 index 000000000..69c41ca7d Binary files /dev/null and b/src/home/Img/2-6-2.png differ diff --git a/src/home/Img/3-1-1.png b/src/home/Img/3-1-1.png new file mode 100644 index 000000000..cc43b5c5b Binary files /dev/null and b/src/home/Img/3-1-1.png differ diff --git a/src/home/Img/3-1-2.png b/src/home/Img/3-1-2.png new file mode 100644 index 000000000..b1d0f7c1e Binary files /dev/null and b/src/home/Img/3-1-2.png differ diff --git a/src/home/Img/3-1.png b/src/home/Img/3-1.png new file mode 100644 index 000000000..44d7cbd59 Binary files /dev/null and b/src/home/Img/3-1.png differ diff --git a/src/home/Img/3-2-1.png b/src/home/Img/3-2-1.png new file mode 100644 index 000000000..976193b42 Binary files /dev/null and b/src/home/Img/3-2-1.png differ diff --git a/src/home/Img/3-2-2.png b/src/home/Img/3-2-2.png new file mode 100644 index 000000000..85a19f950 Binary files /dev/null and b/src/home/Img/3-2-2.png differ diff --git a/src/home/Img/3-2.png b/src/home/Img/3-2.png new file mode 100644 index 000000000..faab6643d Binary files /dev/null and b/src/home/Img/3-2.png differ diff --git a/src/home/Img/3-3-1.png b/src/home/Img/3-3-1.png new file mode 100644 index 000000000..a03097a55 Binary files /dev/null and b/src/home/Img/3-3-1.png differ diff --git a/src/home/Img/3-3-2.png b/src/home/Img/3-3-2.png new file mode 100644 index 000000000..e8f6ac94f Binary files /dev/null and b/src/home/Img/3-3-2.png differ diff --git a/src/home/Img/3-3.png b/src/home/Img/3-3.png new file mode 100644 index 000000000..c2cf179b9 Binary files /dev/null and b/src/home/Img/3-3.png differ diff --git a/src/home/Img/3-4-1.png b/src/home/Img/3-4-1.png new file mode 100644 index 000000000..f2e48d8e8 Binary files /dev/null and b/src/home/Img/3-4-1.png differ diff --git a/src/home/Img/3-4-2.png b/src/home/Img/3-4-2.png new file mode 100644 index 000000000..340b169e4 Binary files /dev/null and b/src/home/Img/3-4-2.png differ diff --git a/src/home/Img/3-4.png b/src/home/Img/3-4.png new file mode 100644 index 000000000..d2d4385a8 Binary files /dev/null and b/src/home/Img/3-4.png differ diff --git a/src/home/Img/3-bg.png b/src/home/Img/3-bg.png new file mode 100644 index 000000000..38c05b768 Binary files /dev/null and b/src/home/Img/3-bg.png differ diff --git a/src/home/Img/4-1.png b/src/home/Img/4-1.png new file mode 100644 index 000000000..9dcf949d3 Binary files /dev/null and b/src/home/Img/4-1.png differ diff --git a/src/home/Img/4-2.png b/src/home/Img/4-2.png new file mode 100644 index 000000000..8705a787e Binary files /dev/null and b/src/home/Img/4-2.png differ diff --git a/src/home/Img/4-3.png b/src/home/Img/4-3.png new file mode 100644 index 000000000..1ea4b161b Binary files /dev/null and b/src/home/Img/4-3.png differ diff --git a/src/home/Img/4-4.png b/src/home/Img/4-4.png new file mode 100644 index 000000000..4f877fbc9 Binary files /dev/null and b/src/home/Img/4-4.png differ diff --git a/src/home/Img/4-bg.png b/src/home/Img/4-bg.png new file mode 100644 index 000000000..a63cac32c Binary files /dev/null and b/src/home/Img/4-bg.png differ diff --git a/src/home/Img/banner1.png b/src/home/Img/banner1.png new file mode 100644 index 000000000..a4dbfd8bf Binary files /dev/null and b/src/home/Img/banner1.png differ diff --git a/src/home/Img/banner2.png b/src/home/Img/banner2.png new file mode 100644 index 000000000..0e0e1025c Binary files /dev/null and b/src/home/Img/banner2.png differ diff --git a/src/home/Img/banner3.png b/src/home/Img/banner3.png new file mode 100644 index 000000000..e7c5b9074 Binary files /dev/null and b/src/home/Img/banner3.png differ diff --git a/src/home/Img/banner4.png b/src/home/Img/banner4.png new file mode 100644 index 000000000..9293cab69 Binary files /dev/null and b/src/home/Img/banner4.png differ diff --git a/src/home/Img/codeafter.png b/src/home/Img/codeafter.png new file mode 100644 index 000000000..189b000fe Binary files /dev/null and b/src/home/Img/codeafter.png differ diff --git a/src/home/Img/gitlink.png b/src/home/Img/gitlink.png new file mode 100644 index 000000000..8ed7159db Binary files /dev/null and b/src/home/Img/gitlink.png differ diff --git a/src/home/Img/qq.png b/src/home/Img/qq.png new file mode 100644 index 000000000..bc243e433 Binary files /dev/null and b/src/home/Img/qq.png differ diff --git a/src/home/Img/top-1.png b/src/home/Img/top-1.png new file mode 100644 index 000000000..3b64a7239 Binary files /dev/null and b/src/home/Img/top-1.png differ diff --git a/src/home/Img/top-2.png b/src/home/Img/top-2.png new file mode 100644 index 000000000..bab464033 Binary files /dev/null and b/src/home/Img/top-2.png differ diff --git a/src/home/Img/top-3.png b/src/home/Img/top-3.png new file mode 100644 index 000000000..3824c1d3f Binary files /dev/null and b/src/home/Img/top-3.png differ diff --git a/src/home/Img/top-bg.png b/src/home/Img/top-bg.png new file mode 100644 index 000000000..688046011 Binary files /dev/null and b/src/home/Img/top-bg.png differ diff --git a/src/home/Img/unit/BJHKHT.png b/src/home/Img/unit/BJHKHT.png new file mode 100644 index 000000000..f22552c94 Binary files /dev/null and b/src/home/Img/unit/BJHKHT.png differ diff --git a/src/home/Img/unit/CEC.png b/src/home/Img/unit/CEC.png new file mode 100644 index 000000000..0d9f02aad Binary files /dev/null and b/src/home/Img/unit/CEC.png differ diff --git a/src/home/Img/unit/DD.png b/src/home/Img/unit/DD.png new file mode 100644 index 000000000..675505028 Binary files /dev/null and b/src/home/Img/unit/DD.png differ diff --git a/src/home/Img/unit/GFKJ.png b/src/home/Img/unit/GFKJ.png new file mode 100644 index 000000000..4c6413c4c Binary files /dev/null and b/src/home/Img/unit/GFKJ.png differ diff --git a/src/home/Img/unit/HSKY.png b/src/home/Img/unit/HSKY.png new file mode 100644 index 000000000..8b50bdf26 Binary files /dev/null and b/src/home/Img/unit/HSKY.png differ diff --git a/src/home/Img/unit/HW.png b/src/home/Img/unit/HW.png new file mode 100644 index 000000000..cf7db256a Binary files /dev/null and b/src/home/Img/unit/HW.png differ diff --git a/src/home/Img/unit/ISCAS.png b/src/home/Img/unit/ISCAS.png new file mode 100644 index 000000000..0f9e58cf3 Binary files /dev/null and b/src/home/Img/unit/ISCAS.png differ diff --git a/src/home/Img/unit/KYRJLM.png b/src/home/Img/unit/KYRJLM.png new file mode 100644 index 000000000..9108aa421 Binary files /dev/null and b/src/home/Img/unit/KYRJLM.png differ diff --git a/src/home/Img/unit/LC.png b/src/home/Img/unit/LC.png new file mode 100644 index 000000000..7dd815021 Binary files /dev/null and b/src/home/Img/unit/LC.png differ diff --git a/src/home/Img/unit/LSLM.png b/src/home/Img/unit/LSLM.png new file mode 100644 index 000000000..0e6bf66bc Binary files /dev/null and b/src/home/Img/unit/LSLM.png differ diff --git a/src/home/Img/unit/ML.png b/src/home/Img/unit/ML.png new file mode 100644 index 000000000..6b208d38d Binary files /dev/null and b/src/home/Img/unit/ML.png differ diff --git a/src/home/Img/unit/NJDX.png b/src/home/Img/unit/NJDX.png new file mode 100644 index 000000000..ef81575bb Binary files /dev/null and b/src/home/Img/unit/NJDX.png differ diff --git a/src/home/Img/unit/QH.png b/src/home/Img/unit/QH.png new file mode 100644 index 000000000..6b91a993b Binary files /dev/null and b/src/home/Img/unit/QH.png differ diff --git a/src/home/Img/unit/QZ.png b/src/home/Img/unit/QZ.png new file mode 100644 index 000000000..5152155dd Binary files /dev/null and b/src/home/Img/unit/QZ.png differ diff --git a/src/home/Img/unit/SHJT.png b/src/home/Img/unit/SHJT.png new file mode 100644 index 000000000..ea1b7ba48 Binary files /dev/null and b/src/home/Img/unit/SHJT.png differ diff --git a/src/home/Img/unit/TG.png b/src/home/Img/unit/TG.png new file mode 100644 index 000000000..052f012b4 Binary files /dev/null and b/src/home/Img/unit/TG.png differ diff --git a/src/home/Img/unit/TX.png b/src/home/Img/unit/TX.png new file mode 100644 index 000000000..59f55a74c Binary files /dev/null and b/src/home/Img/unit/TX.png differ diff --git a/src/home/Img/unit/WXYJY.png b/src/home/Img/unit/WXYJY.png new file mode 100644 index 000000000..d92f14360 Binary files /dev/null and b/src/home/Img/unit/WXYJY.png differ diff --git a/src/home/Img/unit/XH.png b/src/home/Img/unit/XH.png new file mode 100644 index 000000000..10af112b9 Binary files /dev/null and b/src/home/Img/unit/XH.png differ diff --git a/src/home/Img/unit/XJY.png b/src/home/Img/unit/XJY.png new file mode 100644 index 000000000..26091222d Binary files /dev/null and b/src/home/Img/unit/XJY.png differ diff --git a/src/home/Img/unit/YKD.png b/src/home/Img/unit/YKD.png new file mode 100644 index 000000000..cd54486d1 Binary files /dev/null and b/src/home/Img/unit/YKD.png differ diff --git a/src/home/Img/unit/ZC.png b/src/home/Img/unit/ZC.png new file mode 100644 index 000000000..4d3b5084d Binary files /dev/null and b/src/home/Img/unit/ZC.png differ diff --git a/src/home/Img/unit/beijing.png b/src/home/Img/unit/beijing.png new file mode 100644 index 000000000..fe0950b29 Binary files /dev/null and b/src/home/Img/unit/beijing.png differ diff --git a/src/home/Img/多层次bg@2x.png b/src/home/Img/多层次bg@2x.png new file mode 100644 index 000000000..526a93a15 Binary files /dev/null and b/src/home/Img/多层次bg@2x.png differ diff --git a/src/home/Index.jsx b/src/home/Index.jsx new file mode 100644 index 000000000..f61ac90ce --- /dev/null +++ b/src/home/Index.jsx @@ -0,0 +1,128 @@ +import React , { useEffect , useState } 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-3.png'; +import F44 from './Img/4-4.png'; +import SecondEdition from './SecondEdition'; +import FifthEdition from './FifthEdition'; +import Footnav from './Footnav'; +import { TPMIndexHOC } from '../modules/tpm/TPMIndexHOC'; + +function Index(props) { + const [ value , setValue ] = useState(""); + const [ flag , setFlag ] = useState(true); + const [ isRender , setIsRender ] = useState(false); + const [ isloginCancel , setIsloginCancel ] = useState(false); + const register = props && props.mygetHelmetapi && props.mygetHelmetapi.common && props.mygetHelmetapi.common.register; + + useEffect(()=>{ + window.addEventListener("scroll",scrollListener); + },[]) + + function scrollListener(event) { + let third = document.getElementById("thirdContent").offsetTop; + let top = document.documentElement.scrollTop + 60; + if(top>= third) + { + setFlag(false) + }else{ + setFlag(true) + } + } + + function changeActive(params) { + if(params){ + setValue(params); + let h = params.split("#")[1]; + let t = document.getElementById(h).offsetTop; + document.documentElement.scrollTop = t-100; + }else{ + setValue(""); + } + } + + + return( +
    + + +
    +

    Gitlink,新一代开源创新服务平台

    + { + flag && + +
  • changeActive("#hadoop")} className={value === "#hadoop"?"active":""}>分布式协作开发
  • +
  • changeActive("#oneStop")} className={value === "#oneStop"?"active":""}>一站式过程管理
  • +
  • changeActive("#highDevops")} className={value === "#highDevops"?"active":""}>高效流水线运维
  • +
  • changeActive("#multipleAnalyse")} className={value === "#multipleAnalyse"?"active":""}>多层次代码分析
  • +
  • changeActive("#multidimensional")} className={value === "#multidimensional"?"active":""}>多维度用户画像
  • +
    + } + +
    +
    + +
    + +
    +

    加入Gitlink,和社区伙伴们一起踏上开源创新的辉煌旅程!

    + 快速注册 +
      +
    • + + 发现 + 探索丰富优质的开发资源 +
    • +
    • + + 加入 + 寻找志同道合的协作伙伴 +
    • +
    • + + 合作 + 开启开放共享的协同之旅 +
    • +
    • + + 贡献 + 书写开源创新的精彩成就 +
    • +
    +
    + +
    +

    开源生态

    +

    Gitlink与各大企业、高校、科研机构开展广泛的技术合作,推动我国开源软件生态的快速构建与发展

    + +
    + +
    + ) +} +export default TPMIndexHOC(Index); \ No newline at end of file diff --git a/src/home/Index.scss b/src/home/Index.scss new file mode 100644 index 000000000..ecb2376ee --- /dev/null +++ b/src/home/Index.scss @@ -0,0 +1,1023 @@ + +body{ + overflow: auto!important; + background-color: #fff!important; +} +.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; + li{ + margin-right: 35px; + font-size: 16px; + a{ + color: #FFFFFF!important; + } + } + } + .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; + display: flex; + .slick-slide{ + position: relative; + height:100%; + div{ + height: 100%; + .regform1{ + background:url('./Img/banner1.png') no-repeat center top; + background-size:cover; + } + .regform2{ + background:url('./Img/banner2.png') no-repeat center top; + background-size:cover; + } + .regform3{ + background:url('./Img/banner3.png') no-repeat center top; + background-size:cover; + } + .regform4{ + 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; + // } + } + } + .slick-slider{ + min-width: 1200px; + position: relative; + &:hover{ + .slick-arrow{ + display: block!important; + } + } + .slick-arrow{ + position: absolute; + top:50%; + z-index: 1000; + background: transparent; + border: none; + margin-top:-50px; + display: none!important; + &:hover{ + i{ + color: rgba(225,225,225,0.8); + } + } + i{ + font-size: 50px!important; + color: rgba(225,225,225,0.3); + transition: 0.3s; + } + &.slick-prev{ + left: 50px; + } + &.slick-next{ + right: 50px; + } + } + .slick-dots{ + width: 1200px; + text-align: left; + left: 50%; + margin-left: -600px; + bottom: 25%; + position: absolute; + display: flex!important; + li{ + background-color: rgba(225,225,225,0.5); + position: relative; + height: 3px; + width: 46px; + margin-right: 15px; + &::after{ + position: absolute; + left: 0px; + width: 0px; + top:0px; + height: 100%; + content: ""; + transition: 1s; + transition-property: width; + } + &.slick-active::after{ + background-color: #fff; + width: 100%; + } + button{ + position: absolute; + width: 100%; + height: 10px; + left:0px; + background-color: transparent!important; + border:none; + cursor: pointer; + color: transparent; + } + } + } + } + .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; + a{ + background-image: url('./Img/top-2.png'); + height: 139px; + width: 353px; + padding:30px 24px; + color: #fff; + margin:0px 17px; + border-radius: 11px; + background-size: 100% 100%; + color: #fff!important; + &:hover{ + box-shadow: 0px 2px 7px rgba(225,225,225,0.85); + } + &: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-affix{ + background-color: #fff; + box-shadow: 0px 2px 7px 0px rgba(0,0 ,0 ,0.09); + } + .ant-anchor-wrapper{ + width: 1200px; + margin:0px auto; + padding-left: 0px; + .ant-anchor{ + display: flex; + align-items: center; + justify-content: center; + .ant-anchor-ink{ + width: 100%; + height: 1px; + border-bottom: 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: 0px; + 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; + .hadoopCon{ + display: flex; + width: 100%; + } + .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; + } + } + + .hadoopdesc{ + color: #FFFFFF; + background: -webkit-linear-gradient(112deg, #FF8B75 0%, #DD2476 100%); + -webkit-background-clip: text; + -webkit-text-fill-color: transparent; + font-size: 18px; + line-height: 25px; + font-weight: 500; + text-align: center; + margin-top: 40px; + } + } + .oneStop{ + text-align: center; + opacity: 0.3; + transition: 2s; + .oneStopContent{ + display: flex; + .osLeftMain{ + display: flex; + justify-content: flex-start; + align-items: flex-start; + position: relative; + margin-bottom: 182px; + } + .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; + } + } + } + } + .osleftPosi,.imgring{ + transition: 3s; + opacity: 0; + } + .osleftPosi1,.osleftPosi2{ + position: absolute; + right:-200px; + top:102px; + transition: 2s; + opacity: 0; + z-index: 1; + } + .osleftPosi2{ + top:317px; + right:10px; + transition: 2.5s; + z-index: 2; + } + &.activeCode{ + opacity: 1; + .osleftPosi,.osleftPosi1,.osleftPosi2{ + opacity: 1; + } + .osleftPosi1{ + right:10px; + } + .osleftPosi2{ + top:217px; + } + .imgring{ + opacity: 1; + } + } + } + .highDevops{ + text-align: center; + &.activeCode{ + .highDoContent img{ + opacity: 1; + &.highImg1{ + bottom:62px; + } + &.highImg2{ + bottom:215px; + } + } + } + .highDoTitle{ + position: relative; + padding:2px; + width: 384px; + height: 90px; + margin:7px auto 0px; + border-radius: 10px; + span{ + position: absolute; + z-index: 3; + width: 380px; + height: 86px; + line-height: 86px; + border-radius: 10px; + left: 2px; + top:2px; + display: inline-block; + font-size: 36px; + font-weight: 600; + background: -webkit-linear-gradient(1deg, #D57CA0 12%, #4877F3 57%, #20C3EF 76%); + -webkit-background-clip: text; + -webkit-text-fill-color: transparent; + } + &::before{ + position: absolute; + z-index: 2; + width: 380px; + height: 86px; + line-height: 86px; + background-color: #fff; + border-radius: 10px; + content: ""; + top:2px; + left: 2px; + } + &::after{ + position: absolute; + content: ""; + width: 100%; + height: 100%; + top:0px; + left: 0px; + border-radius: 10px; + background: -webkit-linear-gradient(1deg, #D57CA0 12%, #4877F3 57%, #20C3EF 76%); + z-index: 1; + } + } + .highDoSubtitle{ + color: #637497; + font-size: 18px; + font-weight: 500; + line-height: 36px; + width: 878px; + margin:30px auto 28px; + text-align: center; + span{ + color: #1F1E1E; + } + } + .highDoContent{ + background:url('./Img/2-3bg.png') no-repeat center center; + background-size:cover; + height: 920px; + padding:20px 0px 114px; + position: relative; + display: flex; + flex-direction: column; + align-items: center; + &>div{ + display: flex; + flex-direction: column; + align-items: center; + } + img{ + opacity: 0; + transition: 2.4s; + } + .highImg1{ + position: absolute; + bottom:0px; + transition: 1s; + transition-delay: 1s; + left:10px; + } + .highImg2{ + position: absolute; + bottom:0px; + right:10px; + transition: 2s; + transition-delay: 1s; + } + .highDoBottondesc{ + font-size: 18px; + font-weight: 500; + color: #000000; + line-height: 39px + } + } + } + .multipleAnalyse{ + background:url('./Img/2-4bg.png') no-repeat center center; + background-size:cover; + height: 710px; + padding-left: 58px; + display: flex; + align-items: center; + justify-content: center; + flex-direction: column; + opacity: 0.3; + transition: 2s; + &.activeCode{ + opacity: 1; + .maContent{ + transform: rotateY(360deg); + } + } + .title{ + display: inline-block; + font-size: 36px; + font-weight: 600; + margin-bottom: 26px; + background: -webkit-linear-gradient(1deg, #6D66FF 12%, #C148FF 57%, #F59F77 76%); + -webkit-background-clip: text; + -webkit-text-fill-color: transparent; + line-height: 50px; + margin-top: 20px; + } + .maContent{ + height: 400px; + width: 763px; + background:url('./Img/2-4-1.png') no-repeat; + background-size:100% 100%; + margin:26px 0px; + transition: 3s; + } + .desc{ + text-align: center; + max-width: 869px; + line-height: 30px; + color:#69DAF5 ; + font-weight: 400; + font-size: 18px; + } + } + .multidimensional{ + background:url('./Img/2-5bg.png') no-repeat center center; + background-size:cover; + height: 1139px; + padding:100px 0px 0px; + display: flex; + flex-direction: column; + opacity: 0.3; + transition: 1s; + .multidimensinalhalf{ + display: flex; + align-items: center; + position: relative; + height: 447px; + img{ + position: absolute; + left: 0px; + bottom: -20px; + opacity: 0; + transition: 3s; + } + .halfTitle{ + height: 50px; + font-size: 36px; + font-weight: 600; + color: #FFFFFF; + line-height: 50px; + background: -webkit-linear-gradient(112deg, #D57CA0 0%, #4877F3 51%, #20C3EF 100%); + -webkit-background-clip: text; + -webkit-text-fill-color: transparent; + margin-bottom: 70px!important; + } + .halfsubTitle{ + font-size: 18px; + font-weight: 500; + line-height: 36px; + color: #1E1E1E; + span{ + color: #637497; + } + } + } + .activeCode{ + opacity: 1; + .multidimensinalPart{ + img{ + left: 0px; + opacity: 1; + } + } + .multidimensinalhalf{ + img{ + left: 380px; + opacity: 1; + } + } + } + } + .multidimensinalPart{ + display: flex; + align-items: center; + margin-top: 50px; + position: relative; + height: 396px; + transition: 4s; + img{ + position: absolute; + left: 620px; + bottom: -20px; + opacity: 0; + transition: 3s; + } + p{ + max-width: 345px; + text-align: left; + font-size: 18px; + font-weight: 500; + line-height: 32px; + color: #1E1E1E; + span{ + color: #637497; + } + &:first-child{ + margin-bottom: 55px!important; + } + } + } + } +} + +.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; + padding-top: 50px; + padding-bottom: 25px; + margin-bottom: 0px; + li{ + padding:0px 67px; + color: #fff; + position: relative; + cursor: pointer; + &:hover{ + .hoverli1 img{ + &:first-child{ + transform: translate(5px,7px); + } + &:last-child{ + transform: translate(-2px,0px); + } + } + .hoverli2 img{ + &:first-child{ + transform: translate(6px,-7px); + } + &:last-child{ + transform: translate(-2px,0px); + } + } + .hoverli3 img{ + &:first-child{ + right: -3px!important; + } + &:last-child{ + left: -3px; + } + } + .hoverli4 img{ + &:first-child{ + top: -5px; + } + &:last-child{ + top:13px!important; + } + } + } + &.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; + transition: .1s; + &: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; + &:hover{ + text-decoration: underline; + } + } + 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; + font-size: 18px; + margin-bottom: 80px; + } + .forthUl{ + display: flex; + align-items: flex-end; + 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; + .footSlider{ + width: 100%; + .slick-track{ + display: flex; + .slick-slide{ + margin:0px 20px; + & > div{ + width: 300px; + height: 120px; + padding:15px; + display: flex; + align-items: center; + justify-content: center; + background: linear-gradient(180deg, #F1F7FF 0%, #F7FAFF 53%, #FFFFFF 100%); + box-shadow: 0px 1px 10px 3px rgba(0, 0, 0, 0.06); + border-radius: 4px; + margin:30px 0px; + a{ + display: block; + height: 100%; + width: 100%; + text-align: center; + img{ + max-width: 100%; + max-height: 100%; + } + } + } + } + } + } + .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; + } + #scrollBox1{ + max-height: 300px; + overflow: hidden; + margin: 35px 0px 0px; + width: 100%; + } + ul.fifthList{ + display: flex; + flex-wrap: wrap; + flex-direction: column; + height: 300px; + width: 100%; + float: left; + li{ + border-bottom: none; + width: 300px; + height: 120px; + margin:15px 20px!important; + background: #fff; + box-shadow: 0px 1px 10px 3px rgba(0, 0, 0, 0.06); + border-radius: 4px; + border: 2px solid #FFFFFF; + &:nth-child(2n){ + margin:15px 0px 15px 40px!important; + } + &:nth-child(2n+1){ + margin:15px 40px 15px 0px!important; + } + a{ + display: flex; + align-items: center; + justify-content: center; + width: 100%; + height: 100%; + } + img{ + max-width: 100%; + max-height: 100%; + } + } + + } +} +.footEdition{ + background-color: #171B23; + .footContent{ + display: flex; + align-items: flex-start; + padding:86px 0px; + justify-content: space-around; + width: 1200px; + margin:0px auto; + ul{ + min-width: 120px; + text-align: left; + margin-right: 80px; + &.center{ + text-align: center; + } + &>p{ + height: 22px; + font-size: 16px; + font-weight: 400; + color: #FFFFFF; + line-height: 22px; + } + &>img{ + width: 100px; + height: 100%; + margin-bottom: 30px; + margin-top: 25px; + border-radius: 10px; + } + li{ + height: 20px; + font-size: 14px; + font-weight: 400; + line-height: 20px; + color: #BDC2D1; + margin-bottom: 15px!important; + a{ + color: #BDC2D1!important; + &:hover{ + text-decoration: underline; + } + } + &.thehead{ + height: 25px; + font-size: 18px; + font-weight: 600; + color: #FFFFFF; + line-height: 25px; + margin-bottom: 20px!important; + } + &.theline{ + display: flex; + img{ + width: 80px; + height: 80px; + border-radius: 3px; + } + } + } + } + } + .copyrightDesc{ + font-size: 12px; + font-weight: 400; + color: #BDC2D1; + line-height: 28px; + padding:15px 0px; + text-align: center; + background-color: #1B212C; + } +} \ No newline at end of file diff --git a/src/home/SecondEdition.jsx b/src/home/SecondEdition.jsx new file mode 100644 index 000000000..af0b9b6fb --- /dev/null +++ b/src/home/SecondEdition.jsx @@ -0,0 +1,210 @@ +import React , { useEffect , useState } 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'; +import ImgS1 from './Img/2-3-1.png'; +import ImgS2 from './Img/2-3-2.png'; +import ImgS3 from './Img/2-3-3.png'; +import ImgS4 from './Img/2-3-4.png'; +import ImgM2 from './Img/2-6-2.png'; +import ImgM4 from './Img/2-6-1.png'; +import Codeafter from './Img/codeafter.png'; +import './code.scss'; + +const code=[ + {str:git remote add origin https://git.trustie.net/Gitlink/Gitlink.git}, + {str:git push -u origin master}, + {str:git branch dev}, + {str:git checkout dev}, + {str:git add .}, + {str:git commit -m "xxx"}, + {str:git push origin dev}, + {str:git checkout master}, + {str:git pull origin master}, + {str:git merge dev}, + {str:git push origin master} +] +const codes=[ + {str:latest: Pulling from appleboy/drone-ssh}, + {str:Digest:sha256:095ca4ceafcb751f1f22fe416057d3e2a6302f7b1f7011b17010973cb6bbdd9f}, + {str:Status:Image is up to date for appleboy/drone-ssh:latest}, + {str:======CMD======}, + {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:======END======}, +] + +function SecondEdition({setValue}) { + useEffect(()=>{ + window.addEventListener('scroll', handleScroll); + },[]) + + const [ hadoop , setHadoop ] = useState(false); + const [ highDevops , setHighDevops ] = useState(false); + const [ multipleAnalyse , setMultipleAnalyse ] = useState(false); + const [ multidimensional , setMultidimensional ] = useState(false); + + const [ oneStop , setOneStop ] = useState(false); + + function handleScroll() { + let clientHeight = document.documentElement.clientHeight; //可视区域高度 + let scrollTop = document.documentElement.scrollTop; //滚动条滚动高度 + let f = checkPosi("hadoop",clientHeight,scrollTop); + if(f){ + setValue("#hadoop"); + setHadoop(true); + }else{ + setHadoop(false); + } + let f1 = checkPosi("oneStop",clientHeight,scrollTop); + if(f1){ + setValue("#oneStop"); + setOneStop(true); + }else{ + setOneStop(false); + setOneStop(false); + } + let f3 = checkPosi("highDevops",clientHeight,scrollTop); + if(f3){ + setValue("#highDevops"); + setHighDevops(true); + }else{ + setHighDevops(false); + setHighDevops(false); + } + let f4 = checkPosi("multipleAnalyse",clientHeight,scrollTop); + if(f4){ + setValue("#multipleAnalyse"); + setMultipleAnalyse(true); + }else{ + setMultipleAnalyse(false); + setMultipleAnalyse(false); + } + let f5 = checkPosi("multidimensional",clientHeight,scrollTop); + if(f5){ + setValue("#multidimensional"); + setMultidimensional(true); + }else{ + setMultidimensional(false); + setMultidimensional(false); + } + } + + function checkPosi(ele,clientHeight,scrollTop) { + var a = document.getElementById(ele).offsetTop - scrollTop -(clientHeight/3); + var b = document.getElementById(ele).clientHeight + (clientHeight/4); + if(a>0 || a<-b){ + return false; + }else{ + return true; + } + } + return( +
    +
    +
    +
    +

    分布式协作开发

    +

    基于Git打造分布式代码托管环境,提供免费公、私有代码仓库;

    +

    支持在线文件编辑、代码分支管理、协作贡献统计、代码仓库复刻(Fork)、贡献合并请求(PR)、群智贡献审阅等功能;

    +
    +
    + { + code.map((i,k)=>{ + return( +
  • {k+1}{i.str}
  • + ) + }) + } + 运行结果 +
    +
    +

    让您的项目在这里健康、快速的成长!

    +
    +
    +
    +
    + + + + +
    +
    +

    一站式过程管理

    +

    提供易修(Issue)、里程碑、通知提醒、标签归档等多样化任务管理工具,支持各类开发任务的发布、指派与跟踪;

    +

    同时提供在线Wiki文档、组织多粒度管理等功能,为您搭建一站式的项目过程管理环境;

    +

    让您的团队协作更高效、过程更透明!

    +
    +
    + +
    +
    +
    + 高效流水线运维 +
    +
    + 融合DevOps思想,提供轻量级的工作流引擎(Engine), + 打通编码、测试、构建、部署等开发运维环节;支持 + 自定义配置、代码静态扫描、构建自动触发、容器镜像托管等功能,同时支持接入第三方运维工具。 +
    +
    +
    + +
    + + {/*
    + { + codes.map((i,k)=>{ + return( +
  • {k+1}{i.str}
  • + ) + }) + } +
    */} +
    + + +
    +

    让您的代码更加快速、可靠地形成高质量的产品!

    +
    +
    +
    + 多层次代码分析 +
    +

    提供软件软代码和芯片RTL代码的溯源分析、文件级和组件级许可证识别及风险分析、输入性开源漏洞检测和加固建议,支持分析结果的多层次可视化展示。

    +
    +
    +
    +
    +
    +
    +

    多维度用户画像

    +

    实时采集和分析平台中的各类开源资源数
    据,
    搭建多维度用户画像评估系统;

    +
    +
    + +
    +
    +
    +
    + +
    +
    +

    提供开发活动统计、贡献度日历、用户能力建模、角色与专业定位分析等功能。

    +

    让您在个人主页展示开发动态与创新能力!

    +
    +
    +
    +
    +
    + ) +} +export default SecondEdition \ No newline at end of file diff --git a/src/home/ThirdEdition.jsx b/src/home/ThirdEdition.jsx new file mode 100644 index 000000000..395697d1b --- /dev/null +++ b/src/home/ThirdEdition.jsx @@ -0,0 +1,176 @@ +import React,{ useState , useEffect , useMemo } 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 bg32 from './Img/3-2.png'; +import bg33 from './Img/3-3.png'; +import bg34 from './Img/3-4.png'; + +import './Index.scss'; + +const list1 = [ + {name:"CCF开源发展委员会首批执行委员名单发布",src:"https://forum.trustie.net/forums/4666/detail",count:32,time:"2021-09-22"}, + {name:"Gitlink项目协同开发模块使用说明及问题反馈",src:"https://forum.trustie.net/forums/4665/detail",count:4,time:"2021-09-22"}, + {name:"MindSpore框架介绍及赛题说明",src:"https://forum.trustie.net/forums/4664/detail",count:3,time:"2021-09-22"}, + {name:"OpenHarmony系统介绍及赛题说明",src:"https://forum.trustie.net/forums/4663/detail",count:4,time:"2021-09-22"}, + {name:"openGauss系统介绍及赛题说明",src:"https://forum.trustie.net/forums/4662/detail",count:5,time:"2021-09-22"}, +] +const list2 = [ + {name:"Gitlink/Gitlink",src:"https://forgeplus.trustie.net/Gitlink/forgeplus",count:304}, + {name:"泛在操作系统实验室/矽璓工业物联操作系统XiUOS",src:"https://forgeplus.trustie.net/xuos/xiuos",count:50}, + {name:"华为技术有限公司/openGauss-operator",src:"https://forgeplus.trustie.net/Huawei_Technology/openGauss-operator",count:100}, + {name:"开放原子开源基金会/BitXHub",src:"https://forgeplus.trustie.net/openatom_foundation/bitxhub",count:40}, + {name:"华为技术有限公司/openEuler-datenlord",src:"https://forgeplus.trustie.net/Huawei_Technology/openEuler-datenlord",count:98}, +] +const list3 = [ + {name:"Gitlink平台DevOps模块使用说明",src:"https://forum.trustie.net/forums/4682/detail",count:10,time:"2021-09-23"}, + {name:"Gitlink如何将临时分支push到远端对应的新分支?",src:"https://forum.trustie.net/forums/4705/detail",count:8,time:"2021-09-23"}, + {name:"了解什么是 DevOps?",src:"https://forum.trustie.net/forums/4704/detail",count:4,time:"2021-09-23"}, + {name:"EduCoder平台简介",src:"https://forum.trustie.net/forums/4701/detail",count:26,time:"2021-09-23"}, + {name:"Webhooks指南",src:"https://forum.trustie.net/forums/4683/detail",count:3,time:"2021-09-23"}, +] +const list4 = [ + {name:"小学生都能读懂的网络协议之:WebSocket",src:"https://forum.trustie.net/forums/4708/detail",count:4,time:"2021-09-23"}, + {name:"容器神话 Docker 是如何一分为二的",src:"https://forum.trustie.net/forums/4707/detail",count:5,time:"2021-09-23"}, + {name:"一文揭示,DevOps与企业数字化究竟有何联系?",src:"https://forum.trustie.net/forums/4706/detail",count:3,time:"2021-09-23"}, + {name:"GitHub上最流行的10000个Java都使用了哪些库?",src:"https://forum.trustie.net/forums/4703/detail",count:8,time:"2021-09-23"}, + {name:"如何正确下载CentOS各个版本镜像",src:"https://forum.trustie.net/forums/4684/detail",count:2,time:"2021-09-23"}, +] + +function ThirdEdition() { + const [ active , setActive ] = useState(1); + const [ flag , setFlag ] = useState(true); + + const doubleFlag = useMemo(()=>{ + return flag; + },[flag]) + + useEffect(()=>{ + let box = document.getElementById('thirdUl'); + var myTimer = setTimeout(intervalActive, 2500); + box.onmouseover = () => { + clearTimeout(myTimer); + setFlag(false); + } + box.onmouseleave = () => { + myTimer = setTimeout(intervalActive, 2500); + setFlag(true); + } + },[active,flag]) + + function intervalActive() { + if(doubleFlag){ + if(active < 4){ + let i = active + 1; + setActive(i); + }else{ + setActive(1); + } + } + } + + return( +
    +

    开发者的家园

    +

    一个实现100%开源,产学研联合面向软件创新的开源社区

    +
    +
      +
    • {setFlag(false);setActive(1)}}> +
      + + +
      + 平台动态 +
    • +
    • {setFlag(false);setActive(2)}}> +
      + + +
      + 优秀仓库 +
    • +
    • {setFlag(false);setActive(3)}}> +
      + + +
      + 精选文章 +
    • +
    • {setFlag(false);setActive(4)}}> +
      + + +
      + 经验分享 +
    • +
    +
    + +
    +

    + {active === 1 ? "Gitlink分享最新平台资讯、社区活动通知、开源竞赛信息,把握开源生态发展脉搏" + : active===2 ? "Gitlink汇聚精英企业仓库、前沿技术仓库、人气热门仓库,孵化优质开源创新成果" + :active===3 ? "Gitlink集萃社区精选项目介绍、平台使用技巧等优秀文章,助力开源开放协同创新" + :"Gitlink甄选技术研究、心得体会、经验交流等高质量内容,推动社区健康稳定发展"} +

    + { + active === 1&& + list1.map((i,k)=>{ + return( +
  • + {i.name} + {i.count} + {i.time} +
  • + ) + }) + } + { + active === 2&& + list2.map((i,k)=>{ + return( +
  • + {i.name} + {i.count} + {/* {i.time} */} +
  • + ) + }) + } + { + active === 3&& + list3.map((i,k)=>{ + return( +
  • + {i.name} + {i.count} + {i.time} +
  • + ) + }) + } + { + active === 4&& + list4.map((i,k)=>{ + return( +
  • + {i.name} + {i.count} + {i.time} +
  • + ) + }) + } +
    +
    +
    +
    + ) +} +export default ThirdEdition; \ No newline at end of file diff --git a/src/home/TopEdition.jsx b/src/home/TopEdition.jsx new file mode 100644 index 000000000..387d63ce0 --- /dev/null +++ b/src/home/TopEdition.jsx @@ -0,0 +1,29 @@ +import React from 'react'; +import Slider from 'react-slick'; +let setting={ + dots:true, + infinite: true, + speed: 1000, + slidesToShow: 1, + slidesToScroll: 1, + pauseOnDotsHover:true, + pauseOnFocus:true, + autoplay:true, + arrows:true, + prevArrow:, + nextArrow: +} +function TopEdition({register}) { + return( + +
    +
    +
    +
    +
    +

    注册

    +
    +
    + ) +} +export default TopEdition; \ No newline at end of file diff --git a/src/home/code.scss b/src/home/code.scss new file mode 100644 index 000000000..57badcc76 --- /dev/null +++ b/src/home/code.scss @@ -0,0 +1,79 @@ +.hadoopCode{ + margin-left: 32px; + box-shadow: 0 0 0 2px rgba(255,255,255,0.1); + border-radius: 10px; + padding:18px 20px; + flex: 1; + margin-top: 60px; + position: relative; + &>img{ + position: absolute; + right: -50px; + bottom: -50px; + width: 805px; + border-radius: 4px; + opacity: 0; + z-index: 1; + } + li{ + display: flex; + flex-wrap: wrap; + font-size: 14px; + font-weight: 500; + line-height: 30px; + color: #E1E1E1; + } +} +pre { + font-family: ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace; + word-break: break-all; + overflow: initial ; + .codenum{ + display: inline-block; + width: 15px; + text-align: left; + margin-right: 15px; + } + .code-green{ + color: #00FA30; + } + .code-red{ + color: #FF5058; + } + .code-blue{ + color: #05CFC8; + } +} +.highCodes{ + position: absolute; + top:0px; + right:0px; + width: 50%; + height: 100%; + padding:40px 30px; + color: #E1E1E1; +} +.activeCode{ + .word-item{ + animation: show .2s 1 forwards; + } + &>img.activeImg{ + right: 0px; + bottom: -20px; + opacity: 1; + width: 705px; + transition: 1s; + transition-delay: 3s; + } +} +.word-item { + opacity: 0; +} +@keyframes show { + from { + opacity: 0; + } + to { + opacity: 1; + } +} diff --git a/src/modules/login/LoginDialog.css b/src/modules/login/LoginDialog.css index 833a17e3d..409832b61 100644 --- a/src/modules/login/LoginDialog.css +++ b/src/modules/login/LoginDialog.css @@ -157,5 +157,5 @@ } .MuiModal-root-15 { - z-index: 1000 !important; + z-index: 10001 !important; } diff --git a/src/modules/tpm/TPMIndexHOC.js b/src/modules/tpm/TPMIndexHOC.js index b9215568b..bf64e69ba 100644 --- a/src/modules/tpm/TPMIndexHOC.js +++ b/src/modules/tpm/TPMIndexHOC.js @@ -149,6 +149,11 @@ export function TPMIndexHOC(WrappedComponent) { } fetchUsers = () => { + if (this.props.match.path === "/") { + this.setState({ + publicNav:false + }) + } let url = `/users/get_user_info.json`; axios.get(url).then((response) => { if (response && response.data) { @@ -157,9 +162,6 @@ export function TPMIndexHOC(WrappedComponent) { tpmLoading: false, completeProfile:response.data.profile_completed }) - if (this.props.match.path === "/" && response.data.login) { - this.props.history.push(`/${response.data.login}`); - } if(response.data && response.data.login){ if(response.data.need_edit_info){ this.setState({ @@ -216,7 +218,7 @@ export function TPMIndexHOC(WrappedComponent) { render() { - let { isRender , current_user , giteaVisible , email , completeProfile , showCP } = this.state; + let { isRender , current_user , giteaVisible , email , completeProfile , showCP , publicNav } = this.state; const common = { showLoginDialog: this.showLoginDialog, checkIfLogin: this.checkIfLogin, @@ -236,12 +238,12 @@ export function TPMIndexHOC(WrappedComponent) { {...this.props} {...this.state} /> : ""} -
    + { publicNav &&
    }
    -
    + { publicNav &&
    } { current_user && this.initCommonState(user)} @@ -250,7 +252,7 @@ export function TPMIndexHOC(WrappedComponent) { }
    - + { publicNav && } ); }