@@ -95,3 +95,6 @@ prime/ | |||
# Make evidence files | |||
/.make_evidence | |||
/templates/home_bak.tmpl | |||
/==bak |
@@ -0,0 +1,184 @@ | |||
.bg-gray{ background-color:#F8F8F8!important;} | |||
.am-mb-0{ margin-bottom: 0 !important;} | |||
.am-mb-05{ margin-bottom: 0.5rem !important;} | |||
.am-mb-10{ margin-bottom: 1.0rem !important;} | |||
.am-mb-15{ margin-bottom: 1.5rem !important;} | |||
.am-mb-20{ margin-bottom: 2.0rem !important;} | |||
.am-mb-30{ margin-bottom: 3.0rem !important;} | |||
.am-mt-0{ margin-top: 0 !important;} | |||
.am-mt-05{ margin-top: 0.5rem !important;} | |||
.am-mt-10{ margin-top: 1.0rem !important;} | |||
.am-mt-15{ margin-top: 1.5rem !important;} | |||
.am-mt-20{ margin-top: 2.0rem !important;} | |||
.am-mt-30{ margin-top: 3.0rem !important;} | |||
.am-pb-0{ padding-bottom: 0 !important;} | |||
.am-pb-05{ padding-bottom: 0.5rem !important;} | |||
.am-pb-10{ padding-bottom: 1.0rem !important;} | |||
.am-pb-15{ padding-bottom: 1.5rem !important;} | |||
.am-pb-20{ padding-bottom: 2.0rem !important;} | |||
.am-pb-30{ padding-bottom: 3.0rem !important;} | |||
.am-pt-0{ padding-top: 0 !important;} | |||
.am-pt-05{ padding-top: 0.5rem !important;} | |||
.am-pt-10{ padding-top: 1.0rem !important;} | |||
.am-pt-15{ padding-top: 1.5rem !important;} | |||
.am-pt-20{ padding-top: 2.0rem !important;} | |||
.am-pt-30{ padding-top: 3.0rem !important;} | |||
.am-pl-30{ padding-left: 3.0rem !important;} | |||
.am-ml-30{ margin-left: 3.0rem !important;} | |||
.am-pr-30{ padding-right: 3.0rem !important;} | |||
.am-mr-30{ margin-right: 3.0rem !important;} | |||
.am-lh-18{ line-height: 1.8em;} | |||
.opacity5{ opacity:0.5;} | |||
.radius15{ border-radius:1.5rem !important; } | |||
.radius10{ border-radius:1.0rem !important; } | |||
.radius5{ border-radius:0.5rem !important; } | |||
.am-shadow-1{ | |||
-webkit-box-shadow: 0 1px 2px 0 rgba(34,36,38,.15); | |||
box-shadow: 0 1px 2px 0 rgba(34,36,38,.15); | |||
} | |||
.am-shadow-2{ | |||
-webkit-box-shadow: 0 2px 4px 0 rgba(34,36,38,.3); | |||
box-shadow: 0 2px 4px 0 rgba(34,36,38,.3); | |||
} | |||
.ui.secondary.hometop.segment{ | |||
background: #DFE9F0; | |||
padding-top: 0; | |||
border: none; | |||
margin-bottom: 90px; | |||
} | |||
.ui.secondary.hometop.segment #navbar{ | |||
z-index: 10; | |||
} | |||
.hometop .ui.secondary.menu .active.item{ | |||
color: #000; | |||
background:none; | |||
border-bottom: 1px solid #000; | |||
} | |||
.hometop .following.bar #navbar .brand{ | |||
padding-top: .78571429em; | |||
} | |||
.hometop .following.bar .brand .ui.mini.image { | |||
height: 50px; | |||
} | |||
.homebanner{ | |||
position: relative; | |||
padding: 100px 32px 80px; | |||
z-index: 9; | |||
} | |||
.homebanner .ui.header .sub.header{ | |||
color: #3291F8; | |||
} | |||
.bannerpic{ | |||
position: absolute; | |||
right: 50px; | |||
bottom: -64px; | |||
width: 560px; | |||
} | |||
.ui[class*="very padded"].segment.i-code{ | |||
padding-left: 6.0rem; | |||
} | |||
.i-code > .ui.blue.header{ | |||
color: #1678c2!important; | |||
} | |||
.i-code h2{ | |||
position: relative; | |||
} | |||
.i-code h2::before { | |||
content: ""; | |||
position: absolute; | |||
left: calc(-4.0rem + 6px); | |||
top: 0.8rem; | |||
width: 18px; | |||
height: 18px; | |||
border: 2px solid #505559; | |||
border-radius: 50%; | |||
background: #1b1c1d; | |||
z-index: 9; | |||
} | |||
.i-code h2.am-bw::before{ | |||
background: #FFF; | |||
} | |||
.i-code-pic{ | |||
position: relative; | |||
} | |||
.i-code-pic > img{ | |||
margin-bottom: -3.0rem; | |||
} | |||
.i-env .ui.cards>.card>.image{ | |||
background: none; | |||
} | |||
.i-env .ui.cards>.card>.content{ | |||
border-top: none; | |||
} | |||
.leftline01{ | |||
position: absolute; | |||
left: 3.0rem; | |||
top: 0; | |||
bottom: 0; | |||
border-left: 2px solid #505559; | |||
border-bottom: 2px solid #505559; | |||
border-radius: 0 0 0 2.0rem; | |||
width: 2.0rem; | |||
} | |||
.leftline02{ | |||
position: absolute; | |||
left: 5rem; | |||
top: calc(-5.0rem - 2px); | |||
border-top: 2px solid #505559; | |||
border-right: 2px solid #505559; | |||
border-radius: 0 2.0rem 0 0; | |||
width: 17.5rem; | |||
height: 6.0rem; | |||
} | |||
@media only screen and (max-width: 767px) { | |||
.am-mt-30{ margin-top: 1.5rem !important;} | |||
.ui.secondary.hometop.segment{ | |||
margin-bottom: 2.0rem; | |||
} | |||
.bannerpic, .i-code-pic{ | |||
display: none; | |||
} | |||
.i-code h2::before { | |||
left: calc(-5.0rem + 6px); | |||
} | |||
.i-code h2.am-bw::before{ | |||
left: calc(-4.0rem + 6px); | |||
} | |||
.leftline01{ | |||
width: calc(50% - 4.0rem); | |||
} | |||
.leftline02{ | |||
left: calc(50% - 1.0rem); | |||
top: calc(-3.5rem - 2px); | |||
} | |||
} | |||
@media only screen and (min-width: 768px) and (max-width: 991px) { | |||
.bannerpic, .i-code-pic{ | |||
display: none; | |||
} | |||
.i-code h2::before { | |||
left: calc(-5.0rem + 6px); | |||
} | |||
.i-code h2.am-bw::before{ | |||
left: calc(-4.0rem + 6px); | |||
} | |||
} | |||
@media only screen and (min-width: 992px) and (max-width: 1199px) { | |||
} | |||
@media only screen and (min-width: 1200px) and (max-width: 1919px) { | |||
} | |||
@media only screen and (min-width: 1920px) { | |||
} |
@@ -0,0 +1,711 @@ | |||
<?xml version="1.0" encoding="utf-8"?> | |||
<!-- Generator: Adobe Illustrator 25.3.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> | |||
<svg version="1.1" id="图层_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" | |||
viewBox="0 0 1216 416" style="enable-background:new 0 0 1216 416;" xml:space="preserve"> | |||
<style type="text/css"> | |||
.st0{fill:url(#SVGID_1_);stroke:#CBCFDE;stroke-width:2;stroke-dasharray:3;} | |||
.st1{fill:#E5EAF3;stroke:#A5ADC1;stroke-width:0.5;} | |||
.st2{fill:url(#SVGID_2_);} | |||
.st3{fill:#FFFFFF;stroke:#A5ADC1;stroke-width:0.5;} | |||
.st4{opacity:0.6;} | |||
.st5{fill:none;stroke:#3A51C6;stroke-width:4;} | |||
.st6{fill:#3A51C6;} | |||
.st7{opacity:0.6;fill:#3A51C6;enable-background:new ;} | |||
.st8{font-family:'MicrosoftYaHeiLight';} | |||
.st9{font-size:14px;} | |||
.st10{fill-rule:evenodd;clip-rule:evenodd;fill:#FFFFFF;fill-opacity:0.4;stroke:#CBCFDE;} | |||
.st11{fill:#252B3A;} | |||
.st12{font-family:'MicrosoftYaHei';} | |||
.st13{fill:none;} | |||
.st14{fill-rule:evenodd;clip-rule:evenodd;fill:#D5E0F3;} | |||
.st15{fill-rule:evenodd;clip-rule:evenodd;fill:#F7FAFF;} | |||
.st16{fill-rule:evenodd;clip-rule:evenodd;fill:#F1F6FF;} | |||
.st17{fill:none;stroke:#A5ADC1;stroke-width:0.5;} | |||
.st18{fill:none;stroke:#555A6F;stroke-width:0.6232;} | |||
.st19{fill-rule:evenodd;clip-rule:evenodd;fill:#E3EBF9;} | |||
.st20{fill-rule:evenodd;clip-rule:evenodd;fill:#E8ECF3;} | |||
.st21{fill-rule:evenodd;clip-rule:evenodd;fill:#E5EAF3;stroke:#A5ADC1;stroke-width:0.5;} | |||
.st22{fill-rule:evenodd;clip-rule:evenodd;fill:url(#Fill-612_1_);} | |||
.st23{fill-rule:evenodd;clip-rule:evenodd;fill:url(#Fill-19_1_);} | |||
.st24{fill:none;stroke:#A5ADC1;stroke-width:0.5422;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:2.4994;} | |||
.st25{fill-rule:evenodd;clip-rule:evenodd;fill:url(#形状结合_1_);} | |||
.st26{fill:none;stroke:#555A6F;stroke-width:1.0843;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:2.4994;} | |||
.st27{fill-rule:evenodd;clip-rule:evenodd;fill:url(#形状结合_2_);} | |||
.st28{fill:url(#Oval-2_1_);} | |||
.st29{fill:url(#Combined-Shape_1_);} | |||
.st30{opacity:0.4017;fill:none;stroke:#7D849E;stroke-width:0.7429;enable-background:new ;} | |||
.st31{fill:#A5ADC1;} | |||
.st32{opacity:0.5012;fill:#A5ADC1;enable-background:new ;} | |||
.st33{fill-rule:evenodd;clip-rule:evenodd;fill:url(#Fill-612_6_);} | |||
.st34{fill-rule:evenodd;clip-rule:evenodd;fill:#EBEDF2;fill-opacity:0.4;stroke:#CBCFDE;} | |||
.st35{fill-rule:evenodd;clip-rule:evenodd;fill:#FFFFFF;} | |||
.st36{fill-rule:evenodd;clip-rule:evenodd;fill:url(#Fill-1_3_);} | |||
.st37{fill-rule:evenodd;clip-rule:evenodd;fill:url(#Fill-3_3_);} | |||
.st38{fill-rule:evenodd;clip-rule:evenodd;fill:url(#Fill-8_1_);} | |||
.st39{fill-rule:evenodd;clip-rule:evenodd;fill:url(#Fill-5_1_);} | |||
.st40{fill:none;stroke:#555A6F;} | |||
.st41{fill-rule:evenodd;clip-rule:evenodd;fill:url(#路径-25_1_);} | |||
.st42{fill-rule:evenodd;clip-rule:evenodd;fill:#A5ADC1;} | |||
.st43{opacity:0.4319;fill-rule:evenodd;clip-rule:evenodd;fill:#A5ADC1;enable-background:new ;} | |||
.st44{fill:none;stroke:#999FB6;stroke-width:0.5;} | |||
.st45{fill-rule:evenodd;clip-rule:evenodd;fill:url(#路径-13_1_);} | |||
.st46{opacity:0.506;fill-rule:evenodd;clip-rule:evenodd;fill:#7D849E;enable-background:new ;} | |||
.st47{fill-rule:evenodd;clip-rule:evenodd;fill:#7D849E;} | |||
.st48{fill-rule:evenodd;clip-rule:evenodd;fill:url(#形状结合_3_);} | |||
.st49{opacity:0.6;enable-background:new ;} | |||
.st50{fill-rule:evenodd;clip-rule:evenodd;fill:url(#Fill-1_4_);} | |||
.st51{fill-rule:evenodd;clip-rule:evenodd;fill:url(#Fill-3_4_);} | |||
.st52{fill-rule:evenodd;clip-rule:evenodd;fill:url(#Fill-8_6_);} | |||
.st53{fill-rule:evenodd;clip-rule:evenodd;fill:url(#Fill-5_6_);} | |||
.st54{font-family:'MicrosoftYaHei-Bold';} | |||
.st55{fill:none;stroke:#CBCFDE;stroke-width:2;stroke-dasharray:3;} | |||
</style> | |||
<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="116.4526" y1="207.6249" x2="1210.4272" y2="207.6249"> | |||
<stop offset="0" style="stop-color:#FEFEFF"/> | |||
<stop offset="1" style="stop-color:#F1F6FF"/> | |||
</linearGradient> | |||
<polygon class="st0" points="1210.4,207.6 1156.5,0 1156.5,24.6 116.5,24.6 116.5,390.7 1156.5,390.7 1156.5,415.2 "/> | |||
<desc>Created with Sketch.</desc> | |||
<g> | |||
<circle class="st1" cx="47.3" cy="223.3" r="21.1"/> | |||
<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="29.2261" y1="223.2895" x2="65.3497" y2="223.2895"> | |||
<stop offset="0" style="stop-color:#FEFEFF"/> | |||
<stop offset="1" style="stop-color:#F1F6FF"/> | |||
</linearGradient> | |||
<circle class="st2" cx="47.3" cy="223.3" r="18.1"/> | |||
<g> | |||
<circle class="st3" cx="47.3" cy="218.2" r="6"/> | |||
<path class="st3" d="M47.3,224.3c-5.6,0-10.1,4.5-10.1,10.1h20.2C57.4,228.8,52.9,224.3,47.3,224.3z"/> | |||
</g> | |||
</g> | |||
<g> | |||
<g class="st4"> | |||
<line class="st5" x1="67.9" y1="223.3" x2="126.8" y2="223.3"/> | |||
<g> | |||
<polygon class="st6" points="118.9,233.1 117.2,231.3 125.9,223.3 117.2,215.2 118.9,213.5 129.4,223.3 "/> | |||
</g> | |||
</g> | |||
</g> | |||
<text transform="matrix(1 0 0 1 71.1347 209.8902)" class="st7 st8 st9">用户登录</text> | |||
<g> | |||
<path id="矩形备份-2_1_" class="st10" d="M272.5,185.6H130.4c-0.3,0-0.5,0.2-0.7,0.4c-0.2,0.3-0.3,0.6-0.3,1.1v76 | |||
c0,0.4,0.1,0.8,0.3,1.1c0.2,0.3,0.4,0.4,0.7,0.4h142.2c0.3,0,0.5-0.2,0.7-0.4c0.2-0.3,0.3-0.6,0.3-1.1v-76c0-0.4-0.1-0.8-0.3-1.1 | |||
C273,185.7,272.8,185.6,272.5,185.6z"/> | |||
<text transform="matrix(1 0 0 1 199.7773 229.2355)" class="st11 st12 st9">创建项目</text> | |||
<g id="电脑_2_" transform="translate(33.000000, 32.000000) scale(-1, 1) translate(-33.000000, -32.000000) translate(1.000000, 0.000000)"> | |||
<g> | |||
<rect id="矩形_16_" x="-133.9" y="257.1" class="st13" width="64" height="-64"/> | |||
<g id="电脑复制_1_" transform="translate(11.000000, 2.000000)"> | |||
<g id="编组_4_" transform="translate(5.371982, 40.317507)"> | |||
<polygon id="矩形_15_" class="st14" points="-120.8,209.4 -102.9,198.5 -102.9,201.4 -120.8,212.2 "/> | |||
<polygon id="矩形_14_" class="st15" points="-112.2,193.1 -102.9,198.5 -120.8,209.4 -130.4,203.7 "/> | |||
<polygon id="矩形_12_" class="st16" points="-133.4,202 -120.8,209.4 -120.8,212.3 -133.4,204.9 "/> | |||
</g> | |||
<g id="电脑-2_1_"> | |||
<g id="电脑_3_"> | |||
<g id="Group-616_1_" transform="translate(2.559524, 37.948718)"> | |||
<g id="编组_3_" transform="translate(6.786976, 7.749090)"> | |||
<path id="形状结合_4_" class="st17" d="M-124.8,204l17.9-10.9 M-124.8,204v2.6 M-124.8,204l-8.7-5.1"/> | |||
</g> | |||
<polygon id="路径-6_1_" class="st18" points="-118,214.7 -133.6,205.4 -112.7,193.5 -100.1,200.7 -100.1,203.8 "/> | |||
</g> | |||
<g id="Group-616-Copy_1_" transform="translate(16.380952, 37.948718)"> | |||
<polygon id="Fill-610_1_" class="st16" points="-132,199.1 -132,206.9 -133.5,206.1 -133.5,198.2 "/> | |||
<polygon id="Fill-612_3_" class="st19" points="-132,199.1 -121.4,193.1 -121.4,200.7 -132,206.9 "/> | |||
<polyline id="Path-3_1_" class="st18" points="-133.5,201.7 -133.5,206 -132,206.9 -121.4,200.7 -121.4,194.6 -132,200.9 | |||
-132,206.9 "/> | |||
</g> | |||
<g id="Group-2_1_"> | |||
<path id="Fill-8_2_" class="st20" d="M-92.3,195c0.1,0,0.1,0,0.2-0.1c0,0,0.1,0,0.1,0c0,0,0.1,0,0.1,0c0,0,0.1,0,0.1,0 | |||
c0,0,0,0,0.1,0c0,0,0.1,0,0.1,0c0,0,0,0,0,0c0.1,0,0.1,0,0.2,0c0,0,0,0,0,0c0,0,0.1,0,0.1,0c0,0,0,0,0,0c0,0,0.1,0,0.1,0.1 | |||
l-2.7-1.6c0,0,0,0,0,0c0,0-0.1,0-0.1-0.1c0,0,0,0,0,0c0,0,0,0,0,0c0,0,0,0-0.1,0c0,0,0,0-0.1,0c0,0,0,0,0,0c0,0,0,0,0,0 | |||
c0,0-0.1,0-0.1,0c0,0,0,0,0,0c0,0,0,0,0,0c0,0-0.1,0-0.1,0c0,0,0,0,0,0c0,0,0,0-0.1,0c0,0,0,0-0.1,0c0,0,0,0-0.1,0 | |||
c0,0-0.1,0-0.1,0c0,0,0,0,0,0c0,0,0,0,0,0c0,0-0.1,0-0.2,0.1c0,0,0,0-0.1,0c0,0,0,0,0,0c-0.1,0-0.2,0.1-0.3,0.1l-36.2,21.1 | |||
c-0.1,0.1-0.2,0.1-0.3,0.2c0,0,0,0-0.1,0c-0.1,0.1-0.2,0.2-0.3,0.3c0,0,0,0,0,0c0,0,0,0,0,0c0,0-0.1,0.1-0.1,0.2c0,0,0,0,0,0 | |||
c0,0,0,0,0,0c0,0-0.1,0.1-0.1,0.1c0,0,0,0-0.1,0.1c0,0,0,0,0,0.1c0,0,0,0.1-0.1,0.1c0,0,0,0,0,0.1c0,0,0,0.1-0.1,0.1 | |||
c0,0,0,0,0,0.1c0,0,0,0,0,0c0,0.1-0.1,0.1-0.1,0.2c0,0,0,0,0,0c0,0,0,0,0,0c0,0,0,0.1-0.1,0.1c0,0,0,0,0,0.1s0,0,0,0.1 | |||
c0,0,0,0,0,0.1c0,0.1,0,0.1-0.1,0.2c0,0,0,0,0,0c0,0,0,0,0,0c0,0.1-0.1,0.1-0.1,0.2c0,0,0,0,0,0c0,0,0,0,0,0.1 | |||
c0,0,0,0.1,0,0.1c0,0,0,0.1,0,0.1c0,0,0,0.1,0,0.1c0,0,0,0,0,0.1c0,0,0,0.1,0,0.1c0,0,0,0.1,0,0.1c0,0,0,0,0,0 | |||
c0,0,0,0.1,0,0.1c0,0.1,0,0.1,0,0.2c0,0,0,0,0,0c0,0,0,0,0,0c0,0.1,0,0.3,0,0.4l0.1,26.3c0,0.7,0.2,1.2,0.6,1.4l2.7,1.6 | |||
c-0.4-0.2-0.6-0.7-0.6-1.4L-131,220c0-0.1,0-0.3,0-0.4c0,0,0-0.1,0-0.1c0-0.1,0-0.1,0-0.2c0,0,0-0.1,0-0.1c0,0,0-0.1,0-0.1 | |||
c0-0.1,0-0.1,0-0.2c0,0,0-0.1,0-0.1c0-0.1,0-0.1,0.1-0.2c0,0,0,0,0-0.1c0-0.1,0.1-0.2,0.1-0.2c0,0,0,0,0,0 | |||
c0-0.1,0.1-0.1,0.1-0.2c0,0,0,0,0-0.1c0-0.1,0.1-0.1,0.1-0.2c0,0,0,0,0,0c0-0.1,0.1-0.1,0.1-0.2c0,0,0,0,0-0.1 | |||
c0-0.1,0.1-0.1,0.1-0.2c0,0,0-0.1,0.1-0.1c0,0,0.1-0.1,0.1-0.1c0,0,0.1-0.1,0.1-0.1c0,0,0.1-0.1,0.1-0.1 | |||
c0-0.1,0.1-0.1,0.1-0.2c0,0,0,0,0.1-0.1c0.1-0.1,0.2-0.2,0.3-0.3c0,0,0,0,0.1,0c0.1-0.1,0.2-0.2,0.3-0.2l36.2-21.1 | |||
C-92.6,195.2-92.5,195.1-92.3,195C-92.4,195.1-92.4,195-92.3,195"/> | |||
<path id="Fill-6_3_" class="st21" d="M-91.1,196.8c0-0.8-0.3-1.3-0.8-1.6c-0.2-0.1-0.5-0.2-0.8-0.2c-0.3,0-0.6,0.1-0.9,0.3 | |||
l-35.8,21.1c-1.3,0.7-2.3,2.5-2.3,4l0.1,25.5c0,0.8,0.3,1.3,0.8,1.6c0.2,0.1,0.5,0.2,0.8,0.2c0.3,0,0.6-0.1,0.9-0.3 | |||
l35.8-20.7c1.3-0.7,2.3-2.5,2.3-4L-91.1,196.8z"/> | |||
<linearGradient id="Fill-612_1_" gradientUnits="userSpaceOnUse" x1="389.5026" y1="739.7053" x2="389.117" y2="739.0089" gradientTransform="matrix(-35.3958 0 0 -45.873 13684.2344 34133.2852)"> | |||
<stop offset="0" style="stop-color:#FEFEFF"/> | |||
<stop offset="1" style="stop-color:#F1F6FF"/> | |||
</linearGradient> | |||
<polygon id="Fill-612_2_" class="st22" points="-128.8,218.9 -93.5,198.3 -93.7,223.5 -128.9,244.1 "/> | |||
<path id="Combined-Shape_3_" class="st18" d="M-94.4,193.3L-94.4,193.3c0.1,0,0.1,0,0.3,0c0,0,0,0,0.2,0.1c0,0,0.1,0,0.1,0.1 | |||
l0,0l1.8,1.5c0.4,0.2,0.7,0.7,0.7,1.4l0.1,26.3c0,1.4-1,3-2.1,3.7l-36.2,21.1c-0.6,0.4-1.2,0.4-1.6,0.1l0,0l-1.8-1.5 | |||
c-0.4-0.2-0.6-0.6-0.6-1.2l0-0.2l-0.1-26.3c0-0.1,0-0.3,0-0.5c0-0.1,0-0.1,0.1-0.3c0,0,0-0.1,0.1-0.3c0,0,0-0.1,0-0.2 | |||
c0,0,0-0.1,0.1-0.2c0-0.1,0.1-0.1,0.1-0.2c0-0.1,0-0.1,0.1-0.2c0,0,0,0,0.1-0.2c0,0,0-0.1,0.1-0.2c0-0.1,0.1-0.1,0.1-0.2 | |||
c0,0,0,0,0,0l0.1-0.1c0,0,0,0,0.1-0.1c0,0,0,0,0.1-0.1c0,0,0.1-0.1,0.2-0.2c0-0.1,0.1-0.1,0.2-0.2c0.1-0.1,0.2-0.2,0.4-0.3 | |||
c0.1-0.1,0.2-0.2,0.3-0.2l0,0l36.2-21.1c0.1-0.1,0.2-0.1,0.4-0.2c0.1,0,0.1,0,0.2-0.1c0,0,0.1,0,0.1,0 | |||
C-94.6,193.4-94.6,193.4-94.4,193.3C-94.4,193.3-94.4,193.3-94.4,193.3L-94.4,193.3z"/> | |||
</g> | |||
</g> | |||
</g> | |||
</g> | |||
</g> | |||
</g> | |||
</g> | |||
<g> | |||
<path id="矩形备份-2_3_" class="st10" d="M434,96.7H291.8c-0.3,0-0.5,0.2-0.7,0.4c-0.2,0.3-0.3,0.6-0.3,1.1v76 | |||
c0,0.4,0.1,0.8,0.3,1.1c0.2,0.3,0.4,0.4,0.7,0.4H434c0.3,0,0.5-0.2,0.7-0.4c0.2-0.3,0.3-0.6,0.3-1.1v-76c0-0.4-0.1-0.8-0.3-1.1 | |||
C434.4,96.9,434.2,96.7,434,96.7z"/> | |||
<text transform="matrix(1 0 0 1 361.2133 140.4023)" class="st11 st12 st9">模型代码</text> | |||
<g id="dms_1_"> | |||
<rect id="矩形_18_" x="301.3" y="108.8" class="st13" width="52.3" height="52.3"/> | |||
<g> | |||
<rect id="矩形_17_" x="301.3" y="108.8" class="st13" width="52.3" height="52.3"/> | |||
<g transform="translate(1.000000, 8.000000)"> | |||
<g> | |||
<g id="Group_1_"> | |||
<linearGradient id="Fill-19_1_" gradientUnits="userSpaceOnUse" x1="-341.2138" y1="733.8543" x2="-340.639" y2="733.6519" gradientTransform="matrix(59.0908 0 0 -36.0906 20474.3906 26604.4609)"> | |||
<stop offset="0" style="stop-color:#F9FBFF"/> | |||
<stop offset="1" style="stop-color:#F1F6FF"/> | |||
</linearGradient> | |||
<polygon id="Fill-19_3_" class="st23" points="350.6,122.7 350.6,126.4 335.1,137.1 327.9,137.1 302.3,120.8 302.3,117.3 | |||
318.6,107.6 325,107.6 "/> | |||
<polyline id="Fill-19_2_" class="st24" points="350.7,132.3 334.5,141.9 328,141.9 302,126.5 "/> | |||
<linearGradient id="形状结合_1_" gradientUnits="userSpaceOnUse" x1="-340.5574" y1="733.4007" x2="-341.7036" y2="733.4007" gradientTransform="matrix(59.9948 0 0 -33.8879 20792.1914 24986.5918)"> | |||
<stop offset="0" style="stop-color:#CBD3E0"/> | |||
<stop offset="0.1516" style="stop-color:#AEBACD"/> | |||
<stop offset="0.2692" style="stop-color:#B9C0CD"/> | |||
<stop offset="0.3557" style="stop-color:#B9C1CF"/> | |||
<stop offset="0.3934" style="stop-color:#CAD1DC"/> | |||
<stop offset="0.3987" style="stop-color:#C1C9D5"/> | |||
<stop offset="0.4191" style="stop-color:#C3CBD7"/> | |||
<stop offset="0.4339" style="stop-color:#C5CDD9"/> | |||
<stop offset="0.445" style="stop-color:#C9D1DD"/> | |||
<stop offset="0.464" style="stop-color:#D7DDE9"/> | |||
<stop offset="0.4788" style="stop-color:#DDE4EE"/> | |||
<stop offset="0.5501" style="stop-color:#D2D8E2"/> | |||
<stop offset="0.6178" style="stop-color:#D8DFE9"/> | |||
<stop offset="0.6932" style="stop-color:#DCE0E8"/> | |||
<stop offset="1" style="stop-color:#EBEEF2"/> | |||
</linearGradient> | |||
<path id="形状结合_7_" class="st25" d="M351,136.2l-0.8,1.6l-15.6,9.3h-7.1l-25-14.7l-0.6-1.5l0-11.5l0,0.2 | |||
c0.1,0.4,0.3,0.8,0.5,1.1c0.4,0.5,8.7,5.4,24.6,15c0.5,0.3,1.2,0.5,2.2,0.6c1.4,0.2,2.5,0.2,2.7,0.2c0.1,0,0.6,0,1.3-0.1 | |||
c0.8-0.1,1.5-0.4,2.1-0.7c0.6-0.3,5.6-3.4,15-9.1c0.3-0.3,0.5-0.8,0.6-1.3l0,0V136.2z"/> | |||
</g> | |||
<path id="路径-29_1_" class="st24" d="M301.8,126.2l25.2,14.9c1,0.5,1.9,0.8,2.5,0.8s1.8,0,3.5,0c1.2-0.1,2.4-0.4,3.7-1.2 | |||
c1.3-0.7,6-3.7,14.3-9"/> | |||
<path id="Path-9_1_" class="st26" d="M323.6,107.2h-3.9c-0.8,0-1.6,0.2-2.3,0.6l-13.7,8.1c-1.1,0.7-1.8,1.9-1.8,3.2v11.3 | |||
c0,1,0.5,2,1.4,2.5l23,13.6c1.1,0.6,2.3,1,3.5,1h3c1.3,0,2.5-0.4,3.6-1l12.8-7.8c1.1-0.7,1.8-1.9,1.8-3.2v-11.2 | |||
c0-1-0.5-2-1.4-2.5l-23.3-13.7C325.5,107.5,324.6,107.2,323.6,107.2z"/> | |||
</g> | |||
</g> | |||
</g> | |||
</g> | |||
<linearGradient id="形状结合_2_" gradientUnits="userSpaceOnUse" x1="-328.252" y1="733.1469" x2="-327.6247" y2="732.8809" gradientTransform="matrix(27.5169 0 0 -15.6984 9349.4238 11636.0732)"> | |||
<stop offset="0" style="stop-color:#828BB3"/> | |||
<stop offset="1" style="stop-color:#555A6F"/> | |||
</linearGradient> | |||
<path id="形状结合_5_" class="st27" d="M336.6,127.9c1.2,0.7,1.3,1.8,0,2.5l-8,4.6c-1.2,0.7-3.2,0.7-4.5,0l-8.2-4.7 | |||
c-1.2-0.7-1.3-1.8,0-2.5l8-4.6c1.2-0.7,3.2-0.7,4.5,0L336.6,127.9z M333.2,131l-10.2-5.8l-5.8,3.3c-0.5,0.3-0.5,0.8-0.1,1.1 | |||
l0.1,0.1l8.2,4.7c0.6,0.3,1.5,0.3,2,0L333.2,131z M327.9,129.6c0.5,0,0.9,0.2,0.9,0.5l0,1.8l0,0.1c-0.1,0.2-0.4,0.4-0.8,0.4l-3.2,0 | |||
l-0.1,0c-0.4,0-0.7-0.2-0.7-0.5l0-0.1c0.1-0.2,0.4-0.4,0.8-0.4l2.4,0l0-1.4l0-0.1C327.1,129.7,327.5,129.6,327.9,129.6z | |||
M325.5,128.2c0,0.2-0.3,0.4-0.7,0.5l-0.1,0l-2.4,0l0,1.4c0,0.2-0.3,0.4-0.7,0.5l-0.1,0c-0.4,0-0.8-0.2-0.9-0.4l0-0.1l0-1.8 | |||
c0-0.2,0.3-0.4,0.7-0.5l0.1,0l3.2,0C325.1,127.7,325.5,127.9,325.5,128.2z M335.4,128.6l-8.2-4.7c-0.6-0.3-1.5-0.3-2,0l-1,0.6 | |||
l10.2,5.8l1-0.6C335.9,129.5,336,129,335.4,128.6L335.4,128.6z"/> | |||
</g> | |||
<g> | |||
<path id="矩形备份-2_6_" class="st10" d="M434,273.2H291.8c-0.3,0-0.5,0.2-0.7,0.4c-0.2,0.3-0.3,0.6-0.3,1.1v76 | |||
c0,0.4,0.1,0.8,0.3,1.1c0.2,0.3,0.4,0.4,0.7,0.4H434c0.3,0,0.5-0.2,0.7-0.4c0.2-0.3,0.3-0.6,0.3-1.1v-76c0-0.4-0.1-0.8-0.3-1.1 | |||
C434.4,273.4,434.2,273.2,434,273.2z"/> | |||
<text transform="matrix(1 0 0 1 361.2133 316.8983)" class="st11 st12 st9">上传数据</text> | |||
<g id="编组-7_1_" transform="translate(516.000000, 64.000000)"> | |||
<rect id="矩形_19_" x="-217.5" y="219.8" class="st13" width="57.8" height="57.8"/> | |||
<g id="编组-2_1_" transform="translate(10.000000, 2.000000)"> | |||
<g id="智能配送_1_"> | |||
<g id="分组-5_1_"> | |||
<g id="Group-9-Copy_1_" transform="translate(0.000000, 0.431581)"> | |||
<g id="Group-6_1_"> | |||
<linearGradient id="Oval-2_1_" gradientUnits="userSpaceOnUse" x1="-873.7617" y1="659.7869" x2="-873.203" y2="659.5386" gradientTransform="matrix(43.1523 0 0 -24.5174 37494.2148 16404.498)"> | |||
<stop offset="0" style="stop-color:#FEFEFF"/> | |||
<stop offset="1" style="stop-color:#F1F6FF"/> | |||
</linearGradient> | |||
<ellipse id="Oval-2_5_" class="st28" cx="-198.4" cy="231.3" rx="19.5" ry="11.1"/> | |||
<linearGradient id="Combined-Shape_1_" gradientUnits="userSpaceOnUse" x1="-872.9349" y1="670.6534" x2="-873.8142" y2="670.6534" gradientTransform="matrix(43.1523 0 0 -47.9385 37494.2109 32401.2207)"> | |||
<stop offset="0" style="stop-color:#CBD3E0"/> | |||
<stop offset="0.2354" style="stop-color:#90A1BD"/> | |||
<stop offset="0.4664" style="stop-color:#DCE0E8"/> | |||
<stop offset="0.6916" style="stop-color:#CAD1DC"/> | |||
<stop offset="1" style="stop-color:#EBEEF2"/> | |||
</linearGradient> | |||
<path id="Combined-Shape_5_" class="st29" d="M-179,229.5L-179,229.5l0,32.7h0c-0.6,5.9-9.1,10.6-19.4,10.6 | |||
s-18.9-4.7-19.4-10.6h0v-32.7h0c0,0.2,0,0.4,0,0.7c0,6.2,8.7,11.3,19.5,11.3s19.5-5.1,19.5-11.3 | |||
C-179,229.9-179,229.7-179,229.5z"/> | |||
<path id="Oval-2_4_" class="st30" d="M-217.4,252.7c0,6,8.5,10.8,19,10.8s19-4.8,19-10.8"/> | |||
<path id="Combined-Shape_4_" class="st26" d="M-178.6,229.6h0.1v32.8h-0.1c-1.1,5.6-9.6,9.9-19.8,9.9s-18.7-4.2-19.8-9.9 | |||
h-0.1v-32.8h0.1c1.1-5.6,9.6-9.9,19.8-9.9S-179.7,224-178.6,229.6z"/> | |||
<polygon id="Rectangle_7_" class="st31" points="-214.8,253.2 -213.3,254.4 -213.3,257.3 -214.8,256.1 "/> | |||
<polygon id="Rectangle_6_" class="st32" points="-211.8,255.3 -210.2,256.5 -210.2,259.4 -211.8,258.2 "/> | |||
<path id="Oval-2_3_" class="st30" d="M-217.4,241.9c0,6,8.5,10.8,19,10.8s19-4.8,19-10.8"/> | |||
<polygon id="Rectangle_5_" class="st31" points="-214.8,242.3 -213.3,243.6 -213.3,246.5 -214.8,245.2 "/> | |||
<polygon id="Rectangle_4_" class="st32" points="-211.8,244.4 -210.2,245.7 -210.2,248.5 -211.8,247.3 "/> | |||
</g> | |||
</g> | |||
</g> | |||
</g> | |||
</g> | |||
</g> | |||
</g> | |||
<g> | |||
<g class="st4"> | |||
<path class="st5" d="M433.7,135.5h67.2c12.2,0,22.2,10,22.2,22.2V183"/> | |||
<g> | |||
<polygon class="st6" points="513.3,175 515.1,173.4 523.1,182.1 531.2,173.4 532.9,175 523.1,185.6 "/> | |||
</g> | |||
</g> | |||
</g> | |||
<g> | |||
<g class="st4"> | |||
<path class="st5" d="M433.7,314.6h67.2c12.2,0,22.2-10,22.2-22.2v-25.2"/> | |||
<g> | |||
<polygon class="st6" points="532.9,275.1 531.2,276.8 523.1,268.1 515.1,276.8 513.3,275.1 523.1,264.6 "/> | |||
</g> | |||
</g> | |||
</g> | |||
<g> | |||
<path id="矩形备份-2_8_" class="st10" d="M589.2,185.6H447c-0.3,0-0.5,0.2-0.7,0.4c-0.2,0.3-0.3,0.6-0.3,1.1v76 | |||
c0,0.4,0.1,0.8,0.3,1.1c0.2,0.3,0.4,0.4,0.7,0.4h142.2c0.3,0,0.5-0.2,0.7-0.4c0.2-0.3,0.3-0.6,0.3-1.1v-76c0-0.4-0.1-0.8-0.3-1.1 | |||
C589.7,185.7,589.4,185.6,589.2,185.6z"/> | |||
<text transform="matrix(1 0 0 1 523.1293 229.2355)" class="st11 st12 st9">创建任务</text> | |||
<g id="电脑_4_" transform="translate(33.000000, 32.000000) scale(-1, 1) translate(-33.000000, -32.000000) translate(1.000000, 0.000000)"> | |||
<g> | |||
<rect id="矩形_26_" x="-453.5" y="256.9" class="st13" width="64" height="-64"/> | |||
<g id="电脑复制_2_" transform="translate(11.000000, 2.000000)"> | |||
<g id="编组_6_" transform="translate(5.371982, 40.317507)"> | |||
<polygon id="矩形_25_" class="st14" points="-440.4,209.2 -422.5,198.3 -422.5,201.1 -440.4,212 "/> | |||
<polygon id="矩形_20_" class="st15" points="-431.8,192.9 -422.5,198.3 -440.4,209.2 -450,203.5 "/> | |||
<polygon id="矩形_13_" class="st16" points="-453,201.8 -440.4,209.2 -440.4,212.1 -453,204.7 "/> | |||
</g> | |||
<g id="电脑-2_2_"> | |||
<g id="电脑_5_"> | |||
<g id="Group-616_2_" transform="translate(2.559524, 37.948718)"> | |||
<g id="编组_5_" transform="translate(6.786976, 7.749090)"> | |||
<path id="形状结合_6_" class="st17" d="M-444.4,203.8l17.9-10.9 M-444.4,203.8v2.6 M-444.4,203.8l-8.7-5.1"/> | |||
</g> | |||
<polygon id="路径-6_2_" class="st18" points="-437.6,214.5 -453.1,205.2 -432.3,193.3 -419.7,200.5 -419.7,203.6 | |||
"/> | |||
</g> | |||
<g id="Group-616-Copy_2_" transform="translate(16.380952, 37.948718)"> | |||
<polygon id="Fill-610_2_" class="st16" points="-451.6,198.9 -451.6,206.7 -453.1,205.8 -453.1,198 "/> | |||
<polygon id="Fill-612_5_" class="st19" points="-451.6,198.9 -441,192.9 -441,200.5 -451.6,206.7 "/> | |||
<polyline id="Path-3_2_" class="st18" points="-453.1,201.4 -453.1,205.8 -451.6,206.7 -441,200.5 -441,194.4 -451.6,200.7 | |||
-451.6,206.7 "/> | |||
</g> | |||
<g id="Group-2_2_"> | |||
<path id="Fill-8_3_" class="st20" d="M-411.9,194.8c0.1,0,0.1,0,0.2-0.1c0,0,0.1,0,0.1,0c0,0,0.1,0,0.1,0c0,0,0.1,0,0.1,0 | |||
c0,0,0,0,0.1,0c0,0,0.1,0,0.1,0c0,0,0,0,0,0c0.1,0,0.1,0,0.2,0c0,0,0,0,0,0c0,0,0.1,0,0.1,0c0,0,0,0,0,0c0,0,0.1,0,0.1,0.1 | |||
l-2.7-1.6c0,0,0,0,0,0c0,0-0.1,0-0.1-0.1c0,0,0,0,0,0c0,0,0,0,0,0c0,0,0,0-0.1,0c0,0,0,0-0.1,0c0,0,0,0,0,0c0,0,0,0,0,0 | |||
c0,0-0.1,0-0.1,0c0,0,0,0,0,0c0,0,0,0,0,0c0,0-0.1,0-0.1,0c0,0,0,0,0,0c0,0,0,0-0.1,0c0,0,0,0-0.1,0c0,0,0,0-0.1,0 | |||
c0,0-0.1,0-0.1,0c0,0,0,0,0,0c0,0,0,0,0,0c0,0-0.1,0-0.2,0.1c0,0,0,0-0.1,0c0,0,0,0,0,0c-0.1,0-0.2,0.1-0.3,0.1l-36.2,21.1 | |||
c-0.1,0.1-0.2,0.1-0.3,0.2c0,0,0,0-0.1,0c-0.1,0.1-0.2,0.2-0.3,0.3c0,0,0,0,0,0c0,0,0,0,0,0c0,0-0.1,0.1-0.1,0.2c0,0,0,0,0,0 | |||
c0,0,0,0,0,0c0,0-0.1,0.1-0.1,0.1c0,0,0,0-0.1,0.1c0,0,0,0,0,0.1c0,0,0,0.1-0.1,0.1c0,0,0,0,0,0.1c0,0,0,0.1-0.1,0.1 | |||
c0,0,0,0,0,0.1c0,0,0,0,0,0c0,0.1-0.1,0.1-0.1,0.2c0,0,0,0,0,0c0,0,0,0,0,0c0,0,0,0.1-0.1,0.1c0,0,0,0,0,0.1c0,0,0,0,0,0.1 | |||
c0,0,0,0,0,0.1c0,0.1,0,0.1-0.1,0.2c0,0,0,0,0,0c0,0,0,0,0,0c0,0.1-0.1,0.1-0.1,0.2c0,0,0,0,0,0c0,0,0,0,0,0.1 | |||
c0,0,0,0.1,0,0.1c0,0,0,0.1,0,0.1c0,0,0,0.1,0,0.1c0,0,0,0,0,0.1c0,0,0,0.1,0,0.1c0,0,0,0.1,0,0.1c0,0,0,0,0,0 | |||
c0,0,0,0.1,0,0.1c0,0.1,0,0.1,0,0.2c0,0,0,0,0,0c0,0,0,0,0,0c0,0.1,0,0.3,0,0.4l0.1,26.3c0,0.7,0.2,1.2,0.6,1.4l2.7,1.6 | |||
c-0.4-0.2-0.6-0.7-0.6-1.4l-0.1-26.3c0-0.1,0-0.3,0-0.4c0,0,0-0.1,0-0.1c0-0.1,0-0.1,0-0.2c0,0,0-0.1,0-0.1c0,0,0-0.1,0-0.1 | |||
c0-0.1,0-0.1,0-0.2c0,0,0-0.1,0-0.1c0-0.1,0-0.1,0.1-0.2c0,0,0,0,0-0.1c0-0.1,0.1-0.2,0.1-0.2c0,0,0,0,0,0 | |||
c0-0.1,0.1-0.1,0.1-0.2c0,0,0,0,0-0.1c0-0.1,0.1-0.1,0.1-0.2c0,0,0,0,0,0c0-0.1,0.1-0.1,0.1-0.2c0,0,0,0,0-0.1 | |||
c0-0.1,0.1-0.1,0.1-0.2c0,0,0-0.1,0.1-0.1c0,0,0.1-0.1,0.1-0.1c0,0,0.1-0.1,0.1-0.1c0,0,0.1-0.1,0.1-0.1 | |||
c0-0.1,0.1-0.1,0.1-0.2c0,0,0,0,0.1-0.1c0.1-0.1,0.2-0.2,0.3-0.3c0,0,0,0,0.1,0c0.1-0.1,0.2-0.2,0.3-0.2l36.2-21.1 | |||
C-412.2,194.9-412.1,194.9-411.9,194.8C-412,194.9-412,194.8-411.9,194.8"/> | |||
<path id="Fill-6_4_" class="st21" d="M-410.6,196.6c0-0.8-0.3-1.3-0.8-1.6c-0.2-0.1-0.5-0.2-0.8-0.2c-0.3,0-0.6,0.1-0.9,0.3 | |||
l-35.8,21.1c-1.3,0.7-2.3,2.5-2.3,4l0.1,25.5c0,0.8,0.3,1.3,0.8,1.6c0.2,0.1,0.5,0.2,0.8,0.2c0.3,0,0.6-0.1,0.9-0.3 | |||
l35.8-20.7c1.3-0.7,2.3-2.5,2.3-4L-410.6,196.6z"/> | |||
<linearGradient id="Fill-612_6_" gradientUnits="userSpaceOnUse" x1="398.5316" y1="739.7098" x2="398.146" y2="739.0134" gradientTransform="matrix(-35.3958 0 0 -45.873 13684.2344 34133.2852)"> | |||
<stop offset="0" style="stop-color:#FEFEFF"/> | |||
<stop offset="1" style="stop-color:#F1F6FF"/> | |||
</linearGradient> | |||
<polygon id="Fill-612_4_" class="st33" points="-448.4,218.7 -413.1,198.1 -413.3,223.3 -448.5,243.9 "/> | |||
<path id="Combined-Shape_6_" class="st18" d="M-414,193.1L-414,193.1c0.1,0,0.1,0,0.3,0c0,0,0,0,0.2,0.1c0,0,0.1,0,0.1,0.1 | |||
l0,0l1.8,1.5c0.4,0.2,0.7,0.7,0.7,1.4l0.1,26.3c0,1.4-1,3-2.1,3.7l-36.2,21.1c-0.6,0.4-1.2,0.4-1.6,0.1l0,0l-1.8-1.5 | |||
c-0.4-0.2-0.6-0.6-0.6-1.2l0-0.2l-0.1-26.3c0-0.1,0-0.3,0-0.5c0-0.1,0-0.1,0.1-0.3c0,0,0-0.1,0.1-0.3c0,0,0-0.1,0-0.2 | |||
c0,0,0-0.1,0.1-0.2c0-0.1,0.1-0.1,0.1-0.2c0-0.1,0-0.1,0.1-0.2c0,0,0,0,0.1-0.2c0,0,0-0.1,0.1-0.2c0-0.1,0.1-0.1,0.1-0.2 | |||
c0,0,0,0,0,0l0.1-0.1c0,0,0,0,0.1-0.1c0,0,0,0,0.1-0.1c0,0,0.1-0.1,0.2-0.2c0-0.1,0.1-0.1,0.2-0.2c0.1-0.1,0.2-0.2,0.4-0.3 | |||
c0.1-0.1,0.2-0.2,0.3-0.2l0,0l36.2-21.1c0.1-0.1,0.2-0.1,0.4-0.2c0.1,0,0.1,0,0.2-0.1c0,0,0.1,0,0.1,0 | |||
C-414.2,193.1-414.2,193.1-414,193.1C-414,193.1-414,193.1-414,193.1L-414,193.1z"/> | |||
</g> | |||
</g> | |||
</g> | |||
</g> | |||
</g> | |||
</g> | |||
</g> | |||
<g> | |||
<path id="矩形备份-2_9_" class="st34" d="M790.4,185.6H648.3c-0.3,0-0.5,0.2-0.7,0.4c-0.2,0.3-0.3,0.6-0.3,1.1v76 | |||
c0,0.4,0.1,0.8,0.3,1.1c0.2,0.3,0.4,0.4,0.7,0.4h142.2c0.3,0,0.5-0.2,0.7-0.4c0.2-0.3,0.3-0.6,0.3-1.1v-76c0-0.4-0.1-0.8-0.3-1.1 | |||
C790.9,185.7,790.7,185.6,790.4,185.6z"/> | |||
<text transform="matrix(1 0 0 1 724.3945 229.2355)" class="st11 st12 st9">调试环境</text> | |||
<g id="云竖_2_" transform="translate(516.000000, 320.000000)"> | |||
<g> | |||
<rect id="矩形_21_" x="147.6" y="-121" class="st13" width="48.8" height="48.8"/> | |||
<g id="编组-6_2_" transform="translate(2.000000, 6.000000)"> | |||
<path id="Path-15_5_" class="st35" d="M168.1-83.8c1.7,0.9,3.7,2.1,6.2,0.5c2.4-1.6,15.5-8.8,16.9-9.7c1.9-0.9,3.6-8.5-4.3-15.5 | |||
c-0.4-5-6.8-16.2-14-13.6c-2,1.1-7.3,4.3-16.1,9.3c-0.7,0.4-1.3,0.7-1.8,1c-0.2,0.1-0.8,0.6-1.2,1.2c-0.5,0.4-1.7,1.1-3.5,2.3 | |||
c-2,0.8-2.9,2.2-2.9,4.4c0,3.5,1.5,7.7,5.5,10.8C156.8-90.4,166.4-84.7,168.1-83.8z"/> | |||
<linearGradient id="Fill-1_3_" gradientUnits="userSpaceOnUse" x1="-850.8792" y1="407.687" x2="-851.0427" y2="407.7502" gradientTransform="matrix(27.8283 0 0 -13.8442 23834.3965 5530.2881)"> | |||
<stop offset="0" style="stop-color:#B2B7BF"/> | |||
<stop offset="0.1064" style="stop-color:#E2EBFD"/> | |||
<stop offset="0.2734" style="stop-color:#F8FAFF"/> | |||
<stop offset="0.4104" style="stop-color:#D8E0EE"/> | |||
<stop offset="1" style="stop-color:#F1F6FF"/> | |||
</linearGradient> | |||
<path id="Fill-1_2_" class="st36" d="M151-108.5c0.3,0,0.7,0,1,0.1c0,0,0,0,0,0c0.4,0.1,0.7,0.2,1.1,0.4l17.2-10 | |||
c-0.1,0-0.2-0.1-0.2-0.1c-0.1,0-0.2-0.1-0.3-0.1c-0.1,0-0.2-0.1-0.3-0.1c-0.1,0-0.2-0.1-0.3-0.1c0,0,0,0-0.1,0c0,0,0,0,0,0 | |||
c-0.1,0-0.1,0-0.2,0c-0.1,0-0.2,0-0.3,0c-0.1,0-0.2,0-0.3,0c-0.1,0-0.2,0-0.3,0c0,0,0,0,0,0c0,0,0,0,0,0c-0.1,0-0.2,0-0.4,0 | |||
c-0.1,0-0.3,0-0.4,0.1c0,0-0.1,0-0.1,0c0,0-0.1,0-0.1,0c-0.1,0-0.2,0-0.2,0.1c-0.2,0.1-0.4,0.2-0.6,0.3l-17.2,10 | |||
c0.2-0.1,0.5-0.2,0.8-0.3c0,0,0.1,0,0.1,0C150.3-108.4,150.6-108.5,151-108.5C151-108.5,151-108.5,151-108.5z"/> | |||
<linearGradient id="Fill-3_3_" gradientUnits="userSpaceOnUse" x1="-852.3721" y1="416.4146" x2="-852.6138" y2="416.8685" gradientTransform="matrix(30.367 0 0 -33.6775 26067.5156 13933.0166)"> | |||
<stop offset="0" style="stop-color:#C0CBDC"/> | |||
<stop offset="1.654118e-02" style="stop-color:#B3C0D4"/> | |||
<stop offset="0.1143" style="stop-color:#A9B8D1"/> | |||
<stop offset="0.1737" style="stop-color:#BEC9DB"/> | |||
<stop offset="0.3293" style="stop-color:#E0E5F0"/> | |||
<stop offset="0.5383" style="stop-color:#D9DEE6"/> | |||
<stop offset="0.5471" style="stop-color:#D6DBE4"/> | |||
<stop offset="0.6916" style="stop-color:#CAD1DC"/> | |||
<stop offset="1" style="stop-color:#EBEEF2"/> | |||
</linearGradient> | |||
<path id="Fill-3_2_" class="st37" d="M192.9-97.7c0-0.1,0-0.2,0-0.3c0-0.1,0-0.2,0-0.3c0-0.1,0-0.1,0-0.2c0,0,0,0,0,0 | |||
c0,0,0-0.1,0-0.1c0-0.1,0-0.2-0.1-0.3c0-0.1,0-0.2-0.1-0.4c0-0.1-0.1-0.2-0.1-0.4c0-0.1-0.1-0.2-0.1-0.4c0,0,0,0,0,0 | |||
c0,0,0,0,0,0c0-0.1-0.1-0.2-0.1-0.3c0-0.1-0.1-0.2-0.1-0.4c0-0.1-0.1-0.2-0.1-0.3c0-0.1-0.1-0.2-0.1-0.3c0-0.1-0.1-0.1-0.1-0.2 | |||
c0,0,0,0,0,0l0-0.1c0-0.1-0.1-0.2-0.1-0.3c0-0.1-0.1-0.2-0.2-0.3c-0.1-0.1-0.1-0.2-0.2-0.4c-0.1-0.1-0.1-0.3-0.2-0.4 | |||
c0,0,0,0,0,0c0,0,0,0,0,0c-0.1-0.2-0.2-0.4-0.3-0.5c-0.2-0.3-0.4-0.6-0.5-0.9c0,0,0,0,0,0l0,0c-0.1-0.2-0.2-0.4-0.4-0.5 | |||
c-0.1-0.1-0.2-0.3-0.3-0.4c-0.1-0.1-0.2-0.2-0.3-0.3c0,0,0,0-0.1-0.1c0,0,0,0,0,0c-0.1-0.1-0.1-0.1-0.2-0.2 | |||
c-0.1-0.1-0.2-0.2-0.3-0.3c-0.1-0.1-0.2-0.2-0.3-0.3c-0.1-0.1-0.2-0.2-0.3-0.3c0,0-0.1-0.1-0.1-0.1c0,0,0,0,0,0 | |||
c-0.1-0.1-0.1-0.1-0.2-0.2c-0.1-0.1-0.2-0.2-0.3-0.3c-0.1-0.1-0.2-0.2-0.3-0.2c-0.1-0.1-0.2-0.2-0.3-0.2c0,0-0.1-0.1-0.1-0.1 | |||
l-17.2,10c0.4,0.3,0.8,0.6,1.2,1c0,0,0,0,0,0c0.4,0.4,0.8,0.8,1.1,1.2c0,0,0,0,0,0c0.3,0.4,0.7,0.9,1,1.3c0,0,0,0,0,0 | |||
c0.3,0.5,0.6,0.9,0.9,1.4c0,0,0,0,0,0c0.3,0.5,0.5,1,0.7,1.5c0,0,0,0,0,0c0.2,0.5,0.4,1,0.5,1.6c0,0,0,0,0,0 | |||
c0.1,0.5,0.3,1,0.3,1.6c0,0,0,0,0,0c0.1,0.5,0.1,1,0.1,1.5c0,0.3,0,0.5,0,0.7c0,0,0,0,0,0.1c0,0.2-0.1,0.4-0.1,0.6 | |||
c0,0,0,0.1,0,0.1c0,0.2-0.1,0.4-0.1,0.6c0,0,0,0.1,0,0.1c-0.1,0.2-0.1,0.3-0.2,0.5c0,0,0,0,0,0c-0.1,0.2-0.2,0.3-0.3,0.5 | |||
c-0.1,0.2-0.3,0.4-0.5,0.6c0,0-0.1,0.1-0.1,0.1c-0.2,0.2-0.4,0.3-0.6,0.4l17.2-10c0.2-0.1,0.4-0.3,0.6-0.4c0,0,0.1-0.1,0.1-0.1 | |||
c0.2-0.2,0.3-0.4,0.5-0.6c0,0,0,0,0,0c0.1-0.1,0.2-0.3,0.3-0.5c0,0,0,0,0,0c0,0,0,0,0,0c0-0.1,0.1-0.2,0.1-0.3 | |||
c0-0.1,0-0.1,0.1-0.2c0,0,0-0.1,0-0.1c0,0,0-0.1,0-0.1c0-0.1,0.1-0.2,0.1-0.3c0,0,0-0.1,0-0.1c0,0,0-0.1,0-0.1c0,0,0-0.1,0-0.1 | |||
c0-0.1,0-0.2,0-0.3c0-0.1,0-0.1,0-0.2c0,0,0,0,0-0.1c0,0,0-0.1,0-0.1c0-0.1,0-0.2,0-0.3c0-0.1,0-0.2,0-0.3c0,0,0,0,0,0 | |||
c0-0.1,0-0.2,0-0.3C192.9-97.5,192.9-97.6,192.9-97.7z"/> | |||
<linearGradient id="Fill-8_1_" gradientUnits="userSpaceOnUse" x1="-856.3117" y1="415.72" x2="-856.7656" y2="416.3181" gradientTransform="matrix(41.218 0 0 -31.5976 35478.3477 13034.8008)"> | |||
<stop offset="0" style="stop-color:#CBD3E0"/> | |||
<stop offset="0.2302" style="stop-color:#D7DCE6"/> | |||
<stop offset="0.3076" style="stop-color:#C2CBDA"/> | |||
<stop offset="0.4132" style="stop-color:#DCE0E8"/> | |||
<stop offset="0.5076" style="stop-color:#EBEDF1"/> | |||
<stop offset="0.5317" style="stop-color:#F2F3F6"/> | |||
<stop offset="0.6002" style="stop-color:#FDFBFB"/> | |||
<stop offset="0.6687" style="stop-color:#F8F9FA"/> | |||
<stop offset="0.7321" style="stop-color:#D6DBE1"/> | |||
<stop offset="1" style="stop-color:#EBEEF2"/> | |||
</linearGradient> | |||
<path id="Fill-8_5_" class="st38" d="M163.7-109.7C163.7-109.7,163.7-109.7,163.7-109.7c0.2,0.2,0.5,0.5,0.7,0.8c0,0,0,0,0,0 | |||
c0.2,0.2,0.4,0.5,0.6,0.7c0,0,0,0,0,0c0.2,0.2,0.4,0.5,0.6,0.7c0,0,0,0,0,0c0.2,0.2,0.3,0.4,0.5,0.7c0.1,0.1,0.2,0.2,0.2,0.3 | |||
c0.1,0.1,0.2,0.3,0.3,0.4c0.2,0.2,0.3,0.5,0.5,0.7c0.1,0.1,0.1,0.2,0.2,0.3c0,0.1,0.1,0.2,0.1,0.2c0.1,0.2,0.2,0.5,0.4,0.7 | |||
c0,0,0,0.1,0,0.1c0.1,0.3,0.3,0.6,0.4,0.9c0,0,0,0,0,0c0.1,0.3,0.3,0.6,0.4,0.9c0,0,0,0,0,0.1c0.1,0.3,0.2,0.6,0.3,0.9l0,0.1 | |||
c0.1,0.3,0.2,0.6,0.2,0.8c0,0,0,0.1,0,0.1c0.1,0.3,0.1,0.6,0.2,0.9c0,0,0,0.1,0,0.1c0.1,0.3,0.1,0.6,0.1,0.9l17.2-10 | |||
c0-0.1,0-0.3-0.1-0.4c0-0.1,0-0.3-0.1-0.4c0,0,0-0.1,0-0.1c0,0,0-0.1,0-0.1c0-0.1,0-0.2-0.1-0.3c0-0.1-0.1-0.3-0.1-0.4 | |||
c0,0,0-0.1,0-0.1c0,0,0-0.1,0-0.1c0-0.1,0-0.1-0.1-0.2c0-0.1-0.1-0.3-0.1-0.4c0-0.1,0-0.1-0.1-0.2c0,0,0-0.1,0-0.1 | |||
c0-0.1,0-0.1-0.1-0.2c0-0.1-0.1-0.3-0.1-0.4c0-0.1-0.1-0.2-0.1-0.3c0,0,0,0,0-0.1c0,0,0-0.1,0-0.1c-0.1-0.1-0.1-0.3-0.2-0.4 | |||
c-0.1-0.1-0.1-0.3-0.2-0.4c0,0,0,0,0,0c0,0,0,0,0,0c-0.1-0.1-0.1-0.2-0.2-0.4c-0.1-0.1-0.1-0.3-0.2-0.4c0,0,0,0,0-0.1 | |||
c0,0,0-0.1,0-0.1c-0.1-0.1-0.1-0.2-0.2-0.3c-0.1-0.1-0.1-0.2-0.2-0.4c0-0.1-0.1-0.2-0.1-0.2c0,0,0-0.1-0.1-0.1 | |||
c0-0.1-0.1-0.1-0.1-0.2c-0.2-0.3-0.3-0.5-0.5-0.7c0-0.1-0.1-0.1-0.1-0.2c-0.1-0.1-0.1-0.2-0.2-0.3c-0.1-0.1-0.2-0.2-0.2-0.3 | |||
c0-0.1-0.1-0.1-0.1-0.2c-0.1-0.2-0.2-0.3-0.4-0.5c0,0,0,0,0,0c0,0,0,0,0,0c-0.1-0.1-0.2-0.2-0.3-0.3c-0.1-0.1-0.2-0.3-0.3-0.4 | |||
c0,0,0,0,0,0c0,0,0,0,0,0c-0.1-0.1-0.2-0.2-0.3-0.3c-0.1-0.1-0.2-0.2-0.3-0.4l0,0c0,0,0,0,0,0c-0.1-0.1-0.2-0.2-0.3-0.3 | |||
c-0.1-0.1-0.2-0.2-0.4-0.3c0,0,0,0,0,0l0,0c-0.1-0.1-0.2-0.2-0.4-0.3c-0.1-0.1-0.2-0.2-0.4-0.3c0,0,0,0,0,0 | |||
c-0.1-0.1-0.2-0.2-0.4-0.3c-0.1-0.1-0.2-0.2-0.4-0.3c0,0,0,0,0,0l0,0c-0.1-0.1-0.2-0.1-0.3-0.2c-0.1-0.1-0.2-0.1-0.4-0.2 | |||
c0,0-0.1,0-0.1,0c-0.1-0.1-0.2-0.1-0.3-0.1c-0.1-0.1-0.2-0.1-0.3-0.2c-0.1,0-0.1-0.1-0.2-0.1c0,0,0,0-0.1,0c0,0,0,0-0.1,0 | |||
c-0.1-0.1-0.2-0.1-0.3-0.1c-0.1,0-0.2-0.1-0.3-0.1c0,0,0,0-0.1,0c0,0,0,0-0.1,0c-0.1,0-0.1-0.1-0.2-0.1c-0.1,0-0.2-0.1-0.3-0.1 | |||
c-0.1,0-0.1,0-0.2,0c0,0-0.1,0-0.1,0c0,0-0.1,0-0.1,0c-0.1,0-0.2,0-0.4-0.1c-0.1,0-0.2,0-0.2,0c0,0-0.1,0-0.1,0c0,0,0,0-0.1,0 | |||
c-0.1,0-0.3,0-0.4,0c-0.1,0-0.1,0-0.2,0c0,0-0.1,0-0.1,0c0,0-0.1,0-0.1,0c-0.2,0-0.3,0-0.5,0.1c0,0,0,0,0,0c0,0-0.1,0-0.1,0 | |||
c-0.2,0-0.3,0.1-0.4,0.1c0,0,0,0,0,0c-0.2,0.1-0.4,0.2-0.6,0.3l-17.2,9.9c0.2-0.1,0.4-0.2,0.6-0.3c0.2-0.1,0.3-0.1,0.5-0.1 | |||
c0,0,0.1,0,0.1,0c0.2,0,0.4-0.1,0.6-0.1c0,0,0.1,0,0.1,0c0.2,0,0.4,0,0.6,0c0,0,0.1,0,0.1,0c0.2,0,0.5,0.1,0.7,0.1 | |||
c0,0,0.1,0,0.1,0c0.2,0.1,0.5,0.1,0.7,0.2c0,0,0,0,0.1,0c0.3,0.1,0.5,0.2,0.8,0.3c0,0,0,0,0.1,0c0.3,0.1,0.6,0.3,0.8,0.4 | |||
c0.3,0.1,0.5,0.3,0.8,0.5c0,0,0,0,0,0c0.3,0.2,0.5,0.4,0.7,0.6C163.2-110.1,163.4-109.9,163.7-109.7z"/> | |||
<linearGradient id="Fill-5_1_" gradientUnits="userSpaceOnUse" x1="-855.4323" y1="417.6272" x2="-855.1285" y2="417.117" gradientTransform="matrix(37.419 0 0 -39.8938 32166.1191 16556.9258)"> | |||
<stop offset="0" style="stop-color:#FCFDFF"/> | |||
<stop offset="1" style="stop-color:#EFF1F6"/> | |||
</linearGradient> | |||
<path id="Fill-5_5_" class="st39" d="M169.7-98.3c3.4,2.4,6,7.3,6,11.3c0,4.3-3.1,6.1-6.8,3.9l-15-8.7 | |||
c-3.8-2.2-6.8-7.5-6.8-11.8c0-4,2.6-5.8,6-4.3c0.7-4.2,2.9-6.2,8.4-3.4C166.2-108.3,169.1-103.3,169.7-98.3z"/> | |||
<path id="Fill-5_4_" class="st17" d="M164.4-117.4c1.6-1.1,4-0.9,6.6,0.6c4.2,2.4,7.6,8,8.3,12.9c3.4,2.4,6,7.3,6,11.3 | |||
c0,2.1-0.6,3.6-1.8,4.3"/> | |||
<path id="Path-15_4_" class="st40" d="M172.7-122.3c-2,1.1-7.3,4.2-16.1,9.3c-0.8,0.4-1.4,0.7-1.8,1.1c-0.2,0.1-0.8,0.6-1.3,1.3 | |||
c-0.5,0.4-1.7,1.1-3.4,2.2c-1,0.4-1.8,1-2.3,1.8c-0.5,0.8-0.8,1.8-0.8,2.9c0,3.6,1.6,7.9,5.6,11.2c4,2.6,13.6,8.3,15.5,9.3 | |||
c1,0.6,2.2,1.2,3.4,1.3c0.9,0.1,1.9-0.1,3-0.9c1.5-1,6.8-3.9,11.1-6.4c2.8-1.6,5.2-2.9,5.8-3.3c0.7-0.3,1.4-1.5,1.7-3.2 | |||
c0.2-1.3,0.2-2.9-0.3-4.6c-0.7-2.5-2.3-5.4-5.4-8.2c-0.3-3-2.6-7.9-5.9-11.1c-1.3-1.3-2.8-2.2-4.3-2.7 | |||
C175.7-122.9,174.3-122.9,172.7-122.3z"/> | |||
</g> | |||
</g> | |||
</g> | |||
</g> | |||
<g> | |||
<g class="st4"> | |||
<line class="st5" x1="590.1" y1="226" x2="644.7" y2="226"/> | |||
<g> | |||
<polygon class="st6" points="636.8,235.8 635.1,234 643.8,226 635.1,217.9 636.8,216.2 647.3,226 "/> | |||
</g> | |||
</g> | |||
</g> | |||
<text transform="matrix(1 0 0 1 603.4565 209.8904)" class="st7 st8 st9">推送</text> | |||
<g> | |||
<path id="矩形备份-2_11_" class="st10" d="M978.3,185.7H849.4c-0.2,0-0.4,0.2-0.6,0.4c-0.2,0.3-0.2,0.6-0.2,1.1v76 | |||
c0,0.4,0.1,0.8,0.2,1.1c0.2,0.3,0.4,0.4,0.6,0.4h128.9c0.2,0,0.4-0.2,0.6-0.4c0.2-0.3,0.2-0.6,0.2-1.1v-76c0-0.4-0.1-0.8-0.2-1.1 | |||
C978.7,185.8,978.5,185.7,978.3,185.7z"/> | |||
<text transform="matrix(1 0 0 1 925.62 229.3147)" class="st11 st12 st9">模型库</text> | |||
<g> | |||
<g id="database_3_"> | |||
<g> | |||
<rect id="矩形_22_" x="859.9" y="198.5" class="st13" width="55.8" height="55.8"/> | |||
<g transform="translate(2.000000, 8.000000)"> | |||
<linearGradient id="路径-25_1_" gradientUnits="userSpaceOnUse" x1="-340.618" y1="731.4043" x2="-341.5138" y2="731.4182" gradientTransform="matrix(60.476 0 0 -36.6097 21513.0371 27000.8066)"> | |||
<stop offset="0" style="stop-color:#CBD3E0"/> | |||
<stop offset="9.337495e-02" style="stop-color:#ACB8CD"/> | |||
<stop offset="0.1911" style="stop-color:#97A7C1"/> | |||
<stop offset="0.3147" style="stop-color:#AAB4C4"/> | |||
<stop offset="0.3631" style="stop-color:#BBC4D5"/> | |||
<stop offset="0.3762" style="stop-color:#C2CBD9"/> | |||
<stop offset="0.4187" style="stop-color:#E2E5EC"/> | |||
<stop offset="0.6689" style="stop-color:#DBDFE7"/> | |||
<stop offset="0.7262" style="stop-color:#D8DDE5"/> | |||
<stop offset="0.8284" style="stop-color:#CDD4DE"/> | |||
<stop offset="0.8558" style="stop-color:#D3D9E3"/> | |||
<stop offset="0.8813" style="stop-color:#F6F6F7"/> | |||
<stop offset="0.9502" style="stop-color:#DBE0E8"/> | |||
<stop offset="1" style="stop-color:#EBEEF2"/> | |||
</linearGradient> | |||
<polygon id="路径-25_3_" class="st41" points="910.6,214 904.4,218.9 894.8,224.7 890.9,225.8 869.8,222.5 865.9,217.8 | |||
863.5,211.3 861.4,208 860,209.4 859.6,213.7 859.6,220.1 865.9,233.5 867.2,235.4 868.8,236.2 892.8,239.9 911.3,229.1 | |||
912.2,226.9 912.4,217.1 "/> | |||
<polygon id="Fill-6_9_" class="st42" points="889.1,235.5 889.1,237.6 887.3,237.4 887.3,235.3 "/> | |||
<polygon id="Fill-6-Copy_7_" class="st43" points="886.1,235.1 886.1,237.2 884.3,236.9 884.3,234.8 "/> | |||
<polygon id="Fill-6-Copy-2_7_" class="st42" points="883.1,234.6 883.1,236.7 881.3,236.5 881.3,234.4 "/> | |||
<path id="路径-26_3_" class="st44" d="M859.6,215.3l6.4,12.9c0.4,0.5,1.2,1,2.4,1.4s8.7,1.8,22.3,4c1.4,0.2,2.6,0,3.8-0.4 | |||
c1.3-0.5,3.2-1.6,4.7-2.5c3.4-2.1,7.8-4.8,13.2-8.2"/> | |||
<linearGradient id="路径-13_1_" gradientUnits="userSpaceOnUse" x1="-340.6088" y1="730.8391" x2="-340.151" y2="730.7928" gradientTransform="matrix(57.2286 0 0 -34.5361 20368.2871 25452.4648)"> | |||
<stop offset="0" style="stop-color:#FEFEFF"/> | |||
<stop offset="1" style="stop-color:#F1F6FF"/> | |||
</linearGradient> | |||
<path id="路径-13_7_" class="st45" d="M877.6,198.3l-14.4,8.4c-2,1.2-2.7,3.7-1.7,5.7l4.8,9.6c0.6,1.3,1.8,2.1,3.2,2.3 | |||
l22,3.4c1,0.2,2,0,2.9-0.6l14.4-8.5c1.9-1.1,2.7-3.5,1.8-5.6l-4.3-9.4c-0.6-1.3-1.8-2.3-3.3-2.5l-22.5-3.6 | |||
C879.5,197.6,878.5,197.8,877.6,198.3z"/> | |||
<path id="路径-13_6_" class="st40" d="M860.1,221.2l5.9,12.6c0.6,1.3,1.8,2.2,3.3,2.5l22.3,3.5c1,0.2,2,0,2.9-0.5l15.8-9.3 | |||
c1.3-0.8,2.2-2.2,2.2-3.8v-8c0-0.6-0.1-1.3-0.4-1.8l-5.7-12.4c-0.6-1.3-1.8-2.3-3.3-2.5l-22.5-3.5c-1-0.2-2,0-2.9,0.5 | |||
l-15.8,9.2c-1.3,0.8-2.2,2.2-2.2,3.8v8.1C859.6,219.9,859.8,220.6,860.1,221.2z"/> | |||
</g> | |||
</g> | |||
<polygon id="Fill-6_8_" class="st42" points="911.6,234 911.6,236.1 909.8,237.1 909.8,235.1 "/> | |||
<polygon id="Fill-6-Copy_6_" class="st46" points="908.6,235.8 908.6,237.8 906.8,238.9 906.8,236.8 "/> | |||
<polygon id="Fill-6-Copy-2_6_" class="st47" points="905.6,237.5 905.6,239.6 903.8,240.7 903.8,238.6 "/> | |||
</g> | |||
<g id="形状结合-2_3_" transform="translate(17.000000, 18.000000)"> | |||
<linearGradient id="形状结合_3_" gradientUnits="userSpaceOnUse" x1="-342.2407" y1="708.4328" x2="-341.5711" y2="708.1635" gradientTransform="matrix(27 0 0 -15 10101 10826)"> | |||
<stop offset="0" style="stop-color:#828BB3"/> | |||
<stop offset="1" style="stop-color:#555A6F"/> | |||
</linearGradient> | |||
<path id="形状结合_9_" class="st48" d="M863.9,199.4c1.4,0.8,1.4,2.1,0,3c-0.3,0.2-0.5,0.3-0.9,0.4c0.2,0.9,1,1.8,2.1,2.4 | |||
c0.4,0.2,0.9,0.4,1.3,0.6c0.5,0.2,0.7,0.6,0.3,0.9c-0.3,0.3-1,0.4-1.5,0.2c-0.6-0.2-1.2-0.5-1.7-0.8c-1.5-0.8-2.4-1.9-2.7-3.1 | |||
c-0.7,0-1.4-0.2-1.9-0.5l-0.2-0.1c-1.4-0.8-1.4-2.1,0-3c1.4-0.8,3.5-0.9,4.9-0.1L863.9,199.4z M880.3,202 | |||
c-0.1,1.4-1.1,2.8-2.8,3.8c-0.4,0.3-0.9,0.5-1.4,0.7c0.4,0.7,0.1,1.5-0.9,2.1c-1.4,0.8-3.5,0.9-4.9,0.1l-0.2-0.1 | |||
c-1.4-0.8-1.4-2.1,0-3c1.3-0.8,3.3-0.8,4.7-0.2c0.4-0.2,0.8-0.3,1.2-0.6c1.4-0.8,2.2-1.9,2.2-3c0-0.3,0.5-0.6,1.1-0.6 | |||
C879.8,201.4,880.3,201.7,880.3,202z M862.4,200.3c-0.6-0.3-1.5-0.3-2,0c-0.6,0.3-0.6,0.9,0,1.2c0.6,0.3,1.5,0.3,2,0 | |||
C862.9,201.1,862.9,200.6,862.4,200.3z M873.6,206.6c-0.6-0.3-1.5-0.3-2,0c-0.6,0.3-0.6,0.9,0,1.2c0.6,0.3,1.5,0.3,2,0 | |||
c0.5-0.3,0.6-0.7,0.2-1C873.7,206.8,873.7,206.7,873.6,206.6C873.6,206.6,873.6,206.6,873.6,206.6z M880.2,196.8 | |||
c1.4,0.8,1.4,2.1,0,3c-1.4,0.8-3.5,0.9-4.9,0.1l-0.2-0.1c-0.8-0.5-1.2-1.1-1-1.8c-2.2-0.7-4.9-0.6-7.1,0.1 | |||
c-0.5,0.2-1.2,0.1-1.5-0.2s-0.1-0.7,0.5-0.9c2.8-0.9,6.2-0.9,9.1-0.1c0,0,0,0,0,0c1.4-0.8,3.5-0.9,4.9-0.1L880.2,196.8z | |||
M878.7,197.7c-0.6-0.3-1.5-0.3-2,0c-0.6,0.3-0.6,0.9,0,1.2s1.5,0.3,2,0C879.3,198.6,879.3,198,878.7,197.7z"/> | |||
</g> | |||
</g> | |||
</g> | |||
<text transform="matrix(1 0 0 1 805.6185 198.5263)" class="st49"><tspan x="0" y="0" class="st6 st8 st9">模型</tspan><tspan x="0" y="16.8" class="st6 st8 st9">存储</tspan></text> | |||
<g> | |||
<path id="矩形备份-2_13_" class="st34" d="M1179.1,183.7h-142.2c-0.3,0-0.5,0.2-0.7,0.4c-0.2,0.3-0.3,0.6-0.3,1.1v76 | |||
c0,0.4,0.1,0.8,0.3,1.1c0.2,0.3,0.4,0.4,0.7,0.4h142.2c0.3,0,0.5-0.2,0.7-0.4c0.2-0.3,0.3-0.6,0.3-1.1v-76c0-0.4-0.1-0.8-0.3-1.1 | |||
C1179.6,183.9,1179.3,183.7,1179.1,183.7z"/> | |||
<text transform="matrix(1 0 0 1 1113.0444 227.3935)" class="st11 st12 st9">推理环境</text> | |||
<g id="云竖_1_" transform="translate(516.000000, 320.000000)"> | |||
<g> | |||
<rect id="矩形_23_" x="535.8" y="-119.6" class="st13" width="48.8" height="48.8"/> | |||
<g id="编组-6_1_" transform="translate(2.000000, 6.000000)"> | |||
<path id="Path-15_3_" class="st35" d="M556.3-82.3c1.7,0.9,3.7,2.1,6.2,0.5c2.4-1.6,15.5-8.8,16.9-9.7c1.9-0.9,3.6-8.5-4.3-15.5 | |||
c-0.4-5-6.8-16.2-14-13.6c-2,1.1-7.3,4.3-16.1,9.3c-0.7,0.4-1.3,0.7-1.8,1c-0.2,0.1-0.8,0.6-1.2,1.2c-0.5,0.4-1.7,1.1-3.5,2.3 | |||
c-2,0.8-2.9,2.2-2.9,4.4c0,3.5,1.5,7.7,5.5,10.8C545-88.9,554.6-83.2,556.3-82.3z"/> | |||
<linearGradient id="Fill-1_4_" gradientUnits="userSpaceOnUse" x1="-836.9307" y1="407.5797" x2="-837.0942" y2="407.6429" gradientTransform="matrix(27.8283 0 0 -13.8442 23834.3965 5530.2881)"> | |||
<stop offset="0" style="stop-color:#B2B7BF"/> | |||
<stop offset="0.1064" style="stop-color:#E2EBFD"/> | |||
<stop offset="0.2734" style="stop-color:#F8FAFF"/> | |||
<stop offset="0.4104" style="stop-color:#D8E0EE"/> | |||
<stop offset="1" style="stop-color:#F1F6FF"/> | |||
</linearGradient> | |||
<path id="Fill-1_1_" class="st50" d="M539.1-107c0.3,0,0.7,0,1,0.1c0,0,0,0,0,0c0.4,0.1,0.7,0.2,1.1,0.4l17.2-10 | |||
c-0.1,0-0.2-0.1-0.2-0.1c-0.1,0-0.2-0.1-0.3-0.1c-0.1,0-0.2-0.1-0.3-0.1c-0.1,0-0.2-0.1-0.3-0.1c0,0,0,0-0.1,0c0,0,0,0,0,0 | |||
c-0.1,0-0.1,0-0.2,0c-0.1,0-0.2,0-0.3,0c-0.1,0-0.2,0-0.3,0c-0.1,0-0.2,0-0.3,0c0,0,0,0,0,0c0,0,0,0,0,0c-0.1,0-0.2,0-0.4,0 | |||
c-0.1,0-0.3,0-0.4,0.1c0,0-0.1,0-0.1,0c0,0-0.1,0-0.1,0c-0.1,0-0.2,0-0.2,0.1c-0.2,0.1-0.4,0.2-0.6,0.3l-17.2,10 | |||
c0.2-0.1,0.5-0.2,0.8-0.3c0,0,0.1,0,0.1,0C538.5-106.9,538.8-107,539.1-107C539.1-107,539.1-107,539.1-107z"/> | |||
<linearGradient id="Fill-3_4_" gradientUnits="userSpaceOnUse" x1="-839.5898" y1="416.3705" x2="-839.8314" y2="416.8244" gradientTransform="matrix(30.367 0 0 -33.6775 26067.5156 13933.0166)"> | |||
<stop offset="0" style="stop-color:#C0CBDC"/> | |||
<stop offset="1.654118e-02" style="stop-color:#B3C0D4"/> | |||
<stop offset="0.1143" style="stop-color:#A9B8D1"/> | |||
<stop offset="0.1737" style="stop-color:#BEC9DB"/> | |||
<stop offset="0.3293" style="stop-color:#E0E5F0"/> | |||
<stop offset="0.5383" style="stop-color:#D9DEE6"/> | |||
<stop offset="0.5471" style="stop-color:#D6DBE4"/> | |||
<stop offset="0.6916" style="stop-color:#CAD1DC"/> | |||
<stop offset="1" style="stop-color:#EBEEF2"/> | |||
</linearGradient> | |||
<path id="Fill-3_1_" class="st51" d="M581-96.3c0-0.1,0-0.2,0-0.3c0-0.1,0-0.2,0-0.3c0-0.1,0-0.1,0-0.2c0,0,0,0,0,0 | |||
c0,0,0-0.1,0-0.1c0-0.1,0-0.2-0.1-0.3c0-0.1,0-0.2-0.1-0.4c0-0.1-0.1-0.2-0.1-0.4c0-0.1-0.1-0.2-0.1-0.4c0,0,0,0,0,0 | |||
c0,0,0,0,0,0c0-0.1-0.1-0.2-0.1-0.3c0-0.1-0.1-0.2-0.1-0.4c0-0.1-0.1-0.2-0.1-0.3c0-0.1-0.1-0.2-0.1-0.3c0-0.1-0.1-0.1-0.1-0.2 | |||
c0,0,0,0,0,0l0-0.1c0-0.1-0.1-0.2-0.1-0.3c0-0.1-0.1-0.2-0.2-0.3c-0.1-0.1-0.1-0.2-0.2-0.4c-0.1-0.1-0.1-0.3-0.2-0.4 | |||
c0,0,0,0,0,0c0,0,0,0,0,0c-0.1-0.2-0.2-0.4-0.3-0.5c-0.2-0.3-0.4-0.6-0.5-0.9c0,0,0,0,0,0l0,0c-0.1-0.2-0.2-0.4-0.4-0.5 | |||
c-0.1-0.1-0.2-0.3-0.3-0.4c-0.1-0.1-0.2-0.2-0.3-0.3c0,0,0,0-0.1-0.1c0,0,0,0,0,0c-0.1-0.1-0.1-0.1-0.2-0.2 | |||
c-0.1-0.1-0.2-0.2-0.3-0.3c-0.1-0.1-0.2-0.2-0.3-0.3c-0.1-0.1-0.2-0.2-0.3-0.3c0,0-0.1-0.1-0.1-0.1c0,0,0,0,0,0 | |||
c-0.1-0.1-0.1-0.1-0.2-0.2c-0.1-0.1-0.2-0.2-0.3-0.3c-0.1-0.1-0.2-0.2-0.3-0.2c-0.1-0.1-0.2-0.2-0.3-0.2c0,0-0.1-0.1-0.1-0.1 | |||
l-17.2,10c0.4,0.3,0.8,0.6,1.2,1c0,0,0,0,0,0c0.4,0.4,0.8,0.8,1.1,1.2c0,0,0,0,0,0c0.3,0.4,0.7,0.9,1,1.3c0,0,0,0,0,0 | |||
c0.3,0.5,0.6,0.9,0.9,1.4c0,0,0,0,0,0c0.3,0.5,0.5,1,0.7,1.5c0,0,0,0,0,0c0.2,0.5,0.4,1,0.5,1.6c0,0,0,0,0,0 | |||
c0.1,0.5,0.3,1,0.3,1.6c0,0,0,0,0,0c0.1,0.5,0.1,1,0.1,1.5c0,0.3,0,0.5,0,0.7c0,0,0,0,0,0.1c0,0.2-0.1,0.4-0.1,0.6 | |||
c0,0,0,0.1,0,0.1c0,0.2-0.1,0.4-0.1,0.6c0,0,0,0.1,0,0.1c-0.1,0.2-0.1,0.3-0.2,0.5c0,0,0,0,0,0c-0.1,0.2-0.2,0.3-0.3,0.5 | |||
c-0.1,0.2-0.3,0.4-0.5,0.6c0,0-0.1,0.1-0.1,0.1c-0.2,0.2-0.4,0.3-0.6,0.4l17.2-10c0.2-0.1,0.4-0.3,0.6-0.4c0,0,0.1-0.1,0.1-0.1 | |||
c0.2-0.2,0.3-0.4,0.5-0.6c0,0,0,0,0,0c0.1-0.1,0.2-0.3,0.3-0.5c0,0,0,0,0,0c0,0,0,0,0,0c0-0.1,0.1-0.2,0.1-0.3 | |||
c0-0.1,0-0.1,0.1-0.2c0,0,0-0.1,0-0.1c0,0,0-0.1,0-0.1c0-0.1,0.1-0.2,0.1-0.3c0,0,0-0.1,0-0.1c0,0,0-0.1,0-0.1c0,0,0-0.1,0-0.1 | |||
c0-0.1,0-0.2,0-0.3c0-0.1,0-0.1,0-0.2c0,0,0,0,0-0.1c0,0,0-0.1,0-0.1c0-0.1,0-0.2,0-0.3c0-0.1,0-0.2,0-0.3c0,0,0,0,0,0 | |||
c0-0.1,0-0.2,0-0.3C581.1-96,581-96.1,581-96.3z"/> | |||
<linearGradient id="Fill-8_6_" gradientUnits="userSpaceOnUse" x1="-846.8944" y1="415.673" x2="-847.3483" y2="416.2711" gradientTransform="matrix(41.218 0 0 -31.5976 35478.3477 13034.8008)"> | |||
<stop offset="0" style="stop-color:#CBD3E0"/> | |||
<stop offset="0.2302" style="stop-color:#D7DCE6"/> | |||
<stop offset="0.3076" style="stop-color:#C2CBDA"/> | |||
<stop offset="0.4132" style="stop-color:#DCE0E8"/> | |||
<stop offset="0.5076" style="stop-color:#EBEDF1"/> | |||
<stop offset="0.5317" style="stop-color:#F2F3F6"/> | |||
<stop offset="0.6002" style="stop-color:#FDFBFB"/> | |||
<stop offset="0.6687" style="stop-color:#F8F9FA"/> | |||
<stop offset="0.7321" style="stop-color:#D6DBE1"/> | |||
<stop offset="1" style="stop-color:#EBEEF2"/> | |||
</linearGradient> | |||
<path id="Fill-8_4_" class="st52" d="M551.8-108.2C551.8-108.2,551.8-108.2,551.8-108.2c0.2,0.2,0.5,0.5,0.7,0.8c0,0,0,0,0,0 | |||
c0.2,0.2,0.4,0.5,0.6,0.7c0,0,0,0,0,0c0.2,0.2,0.4,0.5,0.6,0.7c0,0,0,0,0,0c0.2,0.2,0.3,0.4,0.5,0.7c0.1,0.1,0.2,0.2,0.2,0.3 | |||
c0.1,0.1,0.2,0.3,0.3,0.4c0.2,0.2,0.3,0.5,0.5,0.7c0.1,0.1,0.1,0.2,0.2,0.3c0,0.1,0.1,0.2,0.1,0.2c0.1,0.2,0.2,0.5,0.4,0.7 | |||
c0,0,0,0.1,0,0.1c0.1,0.3,0.3,0.6,0.4,0.9c0,0,0,0,0,0c0.1,0.3,0.3,0.6,0.4,0.9c0,0,0,0,0,0.1c0.1,0.3,0.2,0.6,0.3,0.9l0,0.1 | |||
c0.1,0.3,0.2,0.6,0.2,0.8c0,0,0,0.1,0,0.1c0.1,0.3,0.1,0.6,0.2,0.9c0,0,0,0.1,0,0.1c0.1,0.3,0.1,0.6,0.1,0.9l17.2-10 | |||
c0-0.1,0-0.3-0.1-0.4c0-0.1,0-0.3-0.1-0.4c0,0,0-0.1,0-0.1c0,0,0-0.1,0-0.1c0-0.1,0-0.2-0.1-0.3c0-0.1-0.1-0.3-0.1-0.4 | |||
c0,0,0-0.1,0-0.1c0,0,0-0.1,0-0.1c0-0.1,0-0.1-0.1-0.2c0-0.1-0.1-0.3-0.1-0.4c0-0.1,0-0.1-0.1-0.2c0,0,0-0.1,0-0.1 | |||
c0-0.1,0-0.1,0-0.2c0-0.1-0.1-0.3-0.1-0.4c0-0.1-0.1-0.2-0.1-0.3c0,0,0,0,0-0.1c0,0,0-0.1,0-0.1c-0.1-0.1-0.1-0.3-0.2-0.4 | |||
c-0.1-0.1-0.1-0.3-0.2-0.4c0,0,0,0,0,0c0,0,0,0,0,0c-0.1-0.1-0.1-0.2-0.2-0.4c-0.1-0.1-0.1-0.3-0.2-0.4c0,0,0,0,0-0.1 | |||
c0,0,0-0.1,0-0.1c-0.1-0.1-0.1-0.2-0.2-0.3c-0.1-0.1-0.1-0.2-0.2-0.4c0-0.1-0.1-0.2-0.1-0.2c0,0,0-0.1-0.1-0.1 | |||
c0-0.1-0.1-0.1-0.1-0.2c-0.2-0.3-0.3-0.5-0.5-0.7c0-0.1-0.1-0.1-0.1-0.2c-0.1-0.1-0.1-0.2-0.2-0.3c-0.1-0.1-0.2-0.2-0.2-0.3 | |||
c0-0.1-0.1-0.1-0.1-0.2c-0.1-0.2-0.2-0.3-0.4-0.5c0,0,0,0,0,0c0,0,0,0,0,0c-0.1-0.1-0.2-0.2-0.3-0.3c-0.1-0.1-0.2-0.3-0.3-0.4 | |||
c0,0,0,0,0,0c0,0,0,0,0,0c-0.1-0.1-0.2-0.2-0.3-0.3c-0.1-0.1-0.2-0.2-0.3-0.4l0,0c0,0,0,0,0,0c-0.1-0.1-0.2-0.2-0.3-0.3 | |||
c-0.1-0.1-0.2-0.2-0.4-0.3c0,0,0,0,0,0l0,0c-0.1-0.1-0.2-0.2-0.4-0.3c-0.1-0.1-0.2-0.2-0.4-0.3c0,0,0,0,0,0 | |||
c-0.1-0.1-0.2-0.2-0.4-0.3c-0.1-0.1-0.2-0.2-0.4-0.3c0,0,0,0,0,0l0,0c-0.1-0.1-0.2-0.1-0.3-0.2c-0.1-0.1-0.2-0.1-0.4-0.2 | |||
c0,0-0.1,0-0.1,0c-0.1-0.1-0.2-0.1-0.3-0.1c-0.1-0.1-0.2-0.1-0.3-0.2c-0.1,0-0.1-0.1-0.2-0.1c0,0,0,0-0.1,0c0,0,0,0-0.1,0 | |||
c-0.1-0.1-0.2-0.1-0.3-0.1c-0.1,0-0.2-0.1-0.3-0.1c0,0,0,0-0.1,0c0,0,0,0-0.1,0c-0.1,0-0.1-0.1-0.2-0.1c-0.1,0-0.2-0.1-0.3-0.1 | |||
c-0.1,0-0.1,0-0.2,0c0,0-0.1,0-0.1,0c0,0-0.1,0-0.1,0c-0.1,0-0.2,0-0.4-0.1c-0.1,0-0.2,0-0.2,0c0,0-0.1,0-0.1,0c0,0,0,0-0.1,0 | |||
c-0.1,0-0.3,0-0.4,0c-0.1,0-0.1,0-0.2,0c0,0-0.1,0-0.1,0c0,0-0.1,0-0.1,0c-0.2,0-0.3,0-0.5,0.1c0,0,0,0,0,0c0,0-0.1,0-0.1,0 | |||
c-0.2,0-0.3,0.1-0.4,0.1c0,0,0,0,0,0c-0.2,0.1-0.4,0.2-0.6,0.3l-17.2,9.9c0.2-0.1,0.4-0.2,0.6-0.3c0.2-0.1,0.3-0.1,0.5-0.1 | |||
c0,0,0.1,0,0.1,0c0.2,0,0.4-0.1,0.6-0.1c0,0,0.1,0,0.1,0c0.2,0,0.4,0,0.6,0c0,0,0.1,0,0.1,0c0.2,0,0.5,0.1,0.7,0.1 | |||
c0,0,0.1,0,0.1,0c0.2,0.1,0.5,0.1,0.7,0.2c0,0,0,0,0.1,0c0.3,0.1,0.5,0.2,0.8,0.3c0,0,0,0,0.1,0c0.3,0.1,0.6,0.3,0.8,0.4 | |||
c0.3,0.1,0.5,0.3,0.8,0.5c0,0,0,0,0,0c0.3,0.2,0.5,0.4,0.7,0.6C551.4-108.6,551.6-108.4,551.8-108.2z"/> | |||
<linearGradient id="Fill-5_6_" gradientUnits="userSpaceOnUse" x1="-845.0588" y1="417.5899" x2="-844.7551" y2="417.0798" gradientTransform="matrix(37.419 0 0 -39.8938 32166.1191 16556.9258)"> | |||
<stop offset="0" style="stop-color:#FCFDFF"/> | |||
<stop offset="1" style="stop-color:#EFF1F6"/> | |||
</linearGradient> | |||
<path id="Fill-5_3_" class="st53" d="M557.9-96.9c3.4,2.4,6,7.3,6,11.3c0,4.3-3.1,6.1-6.8,3.9l-15-8.7 | |||
c-3.8-2.2-6.8-7.5-6.8-11.8c0-4,2.6-5.8,6-4.3c0.7-4.2,2.9-6.2,8.4-3.4C554.3-106.9,557.3-101.8,557.9-96.9z"/> | |||
<path id="Fill-5_2_" class="st17" d="M552.6-115.9c1.6-1.1,4-0.9,6.6,0.6c4.2,2.4,7.6,8,8.3,12.9c3.4,2.4,6,7.3,6,11.3 | |||
c0,2.1-0.6,3.6-1.8,4.3"/> | |||
<path id="Path-15_2_" class="st40" d="M560.9-120.9c-2,1.1-7.3,4.2-16.1,9.3c-0.8,0.4-1.4,0.7-1.8,1.1c-0.2,0.1-0.8,0.6-1.3,1.3 | |||
c-0.5,0.4-1.7,1.1-3.4,2.2c-1,0.4-1.8,1-2.3,1.8c-0.5,0.8-0.8,1.8-0.8,2.9c0,3.6,1.6,7.9,5.6,11.2c4,2.6,13.6,8.3,15.5,9.3 | |||
c1,0.6,2.2,1.2,3.4,1.3c0.9,0.1,1.9-0.1,3-0.9c1.5-1,6.8-3.9,11.1-6.4c2.8-1.6,5.2-2.9,5.8-3.3c0.7-0.3,1.4-1.5,1.7-3.2 | |||
c0.2-1.3,0.2-2.9-0.3-4.6c-0.7-2.5-2.3-5.4-5.4-8.2c-0.3-3-2.6-7.9-5.9-11.1c-1.3-1.3-2.8-2.2-4.3-2.7 | |||
C563.9-121.4,562.4-121.4,560.9-120.9z"/> | |||
</g> | |||
</g> | |||
</g> | |||
</g> | |||
<g> | |||
<g class="st4"> | |||
<line class="st5" x1="979.1" y1="224.1" x2="1033.7" y2="224.1"/> | |||
<g> | |||
<polygon class="st6" points="1025.8,234 1024.1,232.2 1032.8,224.2 1024.1,216.1 1025.8,214.3 1036.3,224.2 "/> | |||
</g> | |||
</g> | |||
</g> | |||
<text transform="matrix(1 0 0 1 992.8185 195.1307)" class="st49"><tspan x="0" y="0" class="st6 st8 st9">模型</tspan><tspan x="0" y="16.8" class="st6 st8 st9">推理</tspan></text> | |||
<g> | |||
<g class="st4"> | |||
<path class="st5" d="M361.4,94.1v-4.6c0-11,9-20,20-20h323.2c11,0,20,9,20,20v96"/> | |||
<g> | |||
<polygon class="st6" points="371.3,86.3 369.5,84.6 361.4,93.2 353.4,84.5 351.6,86.1 361.4,96.7 "/> | |||
</g> | |||
</g> | |||
</g> | |||
<g> | |||
<g class="st4"> | |||
<path class="st5" d="M361.4,355.1v4.6c0,11,9,20,20,20h323.2c11,0,20-9,20-20v-96"/> | |||
<g> | |||
<polygon class="st6" points="351.6,363.2 353.4,364.8 361.4,356 369.5,364.6 371.3,363 361.3,352.5 "/> | |||
</g> | |||
</g> | |||
</g> | |||
<text transform="matrix(1 0 0 1 497.7269 89.4885)" class="st7 st8 st9">迭代-调试代码</text> | |||
<text transform="matrix(1 0 0 1 497.7271 366.8143)" class="st7 st8 st9">迭代-修正数据</text> | |||
<text transform="matrix(1 0 0 1 187.7229 54.4447)" class="st54 st9">创建</text> | |||
<g> | |||
<line class="st55" x1="281.8" y1="43.1" x2="281.8" y2="375.8"/> | |||
<line class="st55" x1="800.2" y1="43.1" x2="800.2" y2="375.8"/> | |||
</g> | |||
<g> | |||
<g class="st4"> | |||
<line class="st5" x1="791.4" y1="226.1" x2="846" y2="226.1"/> | |||
<g> | |||
<polygon class="st6" points="838,235.9 836.4,234.1 845,226.1 836.4,218 838,216.3 848.6,226.1 "/> | |||
</g> | |||
</g> | |||
</g> | |||
<text transform="matrix(1 0 0 1 491.9814 54.4448)" class="st54 st9">模型开发与训练</text> | |||
<g> | |||
<g class="st4"> | |||
<path class="st5" d="M288.3,135.5h-64.6c-12.2,0-22.2,10-22.2,22.2v27.8"/> | |||
<g> | |||
<polygon class="st6" points="280.3,125.7 278.7,127.5 287.3,135.5 278.7,143.6 280.3,145.4 290.9,135.5 "/> | |||
</g> | |||
</g> | |||
</g> | |||
<g> | |||
<g class="st4"> | |||
<path class="st5" d="M288.3,314.6h-64.6c-12.2,0-22.2-10-22.2-22.2v-27.8"/> | |||
<g> | |||
<polygon class="st6" points="280.3,304.8 278.7,306.5 287.3,314.6 278.7,322.7 280.3,324.4 290.9,314.6 "/> | |||
</g> | |||
</g> | |||
</g> | |||
<text transform="matrix(1 0 0 1 953.21 54.4449)" class="st54 st9">模型推理</text> | |||
</svg> |
@@ -0,0 +1 @@ | |||
<svg id="图层_1" data-name="图层 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 120 50"><defs><style>.cls-1{fill:#5bb973;}.cls-2{fill:#fff;}</style></defs><title>logo-w</title><path class="cls-1" d="M42.08,12.13l-15.65-9a4.44,4.44,0,0,0-4.43,0l-15.65,9A4.44,4.44,0,0,0,4.13,16V34a4.44,4.44,0,0,0,2.22,3.84l3.83,2.21a2.88,2.88,0,0,0-.06.59,2.95,2.95,0,1,0,1-2.17L7.26,36.3A2.63,2.63,0,0,1,6,34V16A2.62,2.62,0,0,1,7.26,13.7l15.65-9a2.59,2.59,0,0,1,2.61,0l15.65,9A2.63,2.63,0,0,1,42.47,16V34a2.64,2.64,0,0,1-1.3,2.27l-15.65,9a3.16,3.16,0,0,1-.5.22V39.88a1.31,1.31,0,0,0,0-.28V36.35l.1,0,9-6a.92.92,0,0,0,.41-.75V20a3,3,0,1,0-1.82,0v9L25,34.18V15.94a3,3,0,1,0-1.82,0v12l-5.08-2.95V20.19a3,3,0,1,0-1.82,0v5.26a.9.9,0,0,0,.45.79L23.2,30v8.16L12.11,31.73V23.84a2.93,2.93,0,1,0-1.82,0v8.41a.94.94,0,0,0,.46.79l12.45,7.2v6.34a.22.22,0,0,0,0,.08v.09l0,.1s0,0,0,.07l.06.1s0,0,0,0l.08.1,0,0a.39.39,0,0,0,.1.08l0,0,.12.07,0,0,.14,0h0a.39.39,0,0,0,.15,0h.16a4.44,4.44,0,0,0,2.22-.59l15.65-9A4.46,4.46,0,0,0,44.29,34V16a4.45,4.45,0,0,0-2.21-3.83m-29,27.42a1.12,1.12,0,1,1-1.12,1.12,1.12,1.12,0,0,1,1.12-1.12m20.6-23.46a1.12,1.12,0,1,1-1.12,1.12,1.12,1.12,0,0,1,1.12-1.12m-16.45.19a1.12,1.12,0,1,1-1.12,1.12,1.12,1.12,0,0,1,1.12-1.12m-6,3.65a1.12,1.12,0,1,1-1.12,1.12,1.12,1.12,0,0,1,1.12-1.12M24.13,12A1.12,1.12,0,1,1,23,13.14,1.12,1.12,0,0,1,24.13,12"/><path class="cls-2" d="M81.68,26.69H67.86c-2,.1-3.06,1-3.06,2.85v6.33c.1,1.68,1.16,2.53,3.06,2.63H81.57c1.9-.1,2.85-1,3-2.74V29.54A2.71,2.71,0,0,0,81.68,26.69Zm-.53,8c-.11.73-.53,1.16-1.48,1.26H69.54c-1-.21-1.37-.53-1.47-1.26V30.59a1.44,1.44,0,0,1,1.47-1.48h10a1.54,1.54,0,0,1,1.58,1.48Z"/><path class="cls-2" d="M63.21,20.57V17A1.63,1.63,0,0,1,64.8,15.4H79.25c1.06-.11,1.58.42,1.58,1.37V19.3c0,.85-.52,1.27-1.47,1.27H64.59V23H81.47c1.79,0,2.74-.85,2.74-2.43V15.72A2.45,2.45,0,0,0,81.47,13H74.08V11H70.6v2H62.69c-2,0-3,.95-3,3v9.39a42.65,42.65,0,0,1-2,13l3.27.64a43.43,43.43,0,0,0,2.11-13V20.57Z"/><path class="cls-2" d="M90,24.47l3.38,1.8a10.1,10.1,0,0,0,3.9-5.81h5.91V18H97.82a25.57,25.57,0,0,0,.21-3h5V12.55H93.7V11H90.22v4h4.43a17.38,17.38,0,0,1-.21,2.95H89.38v2.53h4.43A7.05,7.05,0,0,1,90,24.47Z"/><path class="cls-2" d="M97.82,21.62A21.82,21.82,0,0,1,100,26.05h3.7a25.8,25.8,0,0,0-2.22-4.43Z"/><path class="cls-2" d="M112.17,26.79H93.39c-1.8.21-2.85,1.06-3,2.64v4.75H112v1c0,.85-.52,1.27-1.58,1.27h-15c-1,0-1.48-.42-1.48-1.16H90.54v1A2.75,2.75,0,0,0,93.18,39h19.09c2-.1,3.06-1,3.06-2.64V29.54A3.21,3.21,0,0,0,112.17,26.79Zm-.32,4.86h-18V30.8a1.43,1.43,0,0,1,1.48-1.47h15c1,0,1.58.52,1.58,1.47Z"/><path class="cls-2" d="M113.64,12h-6.22q-2.53.17-2.85,2.22V23.1a2.33,2.33,0,0,0,2.32,2.22h6.65c1.47-.11,2.32-.85,2.32-2.22V14.24C116,13,115.23,12.23,113.64,12Zm-1,9.29c0,1.05-.53,1.58-1.48,1.58h-1.79A1.39,1.39,0,0,1,108,21.31V16a1.42,1.42,0,0,1,1.47-1.47H111A1.53,1.53,0,0,1,112.59,16Z"/></svg> |
@@ -0,0 +1 @@ | |||
<svg id="图层_1" data-name="图层 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 120 50"><defs><style>.cls-1{fill:#35373f;}</style></defs><title>logo</title><path class="cls-1" d="M42.08,12.13l-15.65-9a4.44,4.44,0,0,0-4.43,0l-15.65,9A4.44,4.44,0,0,0,4.13,16V34a4.44,4.44,0,0,0,2.22,3.84l3.83,2.21a2.88,2.88,0,0,0-.06.59,2.95,2.95,0,1,0,1-2.17L7.26,36.3A2.63,2.63,0,0,1,6,34V16A2.62,2.62,0,0,1,7.26,13.7l15.65-9a2.59,2.59,0,0,1,2.61,0l15.65,9A2.63,2.63,0,0,1,42.47,16V34a2.64,2.64,0,0,1-1.3,2.27l-15.65,9a3.16,3.16,0,0,1-.5.22V39.88a1.31,1.31,0,0,0,0-.28V36.35l.1,0,9-6a.92.92,0,0,0,.41-.75V20a3,3,0,1,0-1.82,0v9L25,34.18V15.94a3,3,0,1,0-1.82,0v12l-5.08-2.95V20.19a3,3,0,1,0-1.82,0v5.26a.9.9,0,0,0,.45.79L23.2,30v8.16L12.11,31.73V23.84a2.93,2.93,0,1,0-1.82,0v8.41a.94.94,0,0,0,.46.79l12.45,7.2v6.34a.22.22,0,0,0,0,.08v.09l0,.1s0,0,0,.07l.06.1s0,0,0,0l.08.1,0,0a.39.39,0,0,0,.1.08l0,0,.12.07,0,0,.14,0h0a.39.39,0,0,0,.15,0h.16a4.44,4.44,0,0,0,2.22-.59l15.65-9A4.46,4.46,0,0,0,44.29,34V16a4.45,4.45,0,0,0-2.21-3.83m-29,27.42a1.12,1.12,0,1,1-1.12,1.12,1.12,1.12,0,0,1,1.12-1.12m20.6-23.46a1.12,1.12,0,1,1-1.12,1.12,1.12,1.12,0,0,1,1.12-1.12m-16.45.19a1.12,1.12,0,1,1-1.12,1.12,1.12,1.12,0,0,1,1.12-1.12m-6,3.65a1.12,1.12,0,1,1-1.12,1.12,1.12,1.12,0,0,1,1.12-1.12M24.13,12A1.12,1.12,0,1,1,23,13.14,1.12,1.12,0,0,1,24.13,12"/><path class="cls-1" d="M81.68,26.69H67.86c-2,.1-3.06,1-3.06,2.85v6.33c.1,1.68,1.16,2.53,3.06,2.63H81.57c1.9-.1,2.85-1,3-2.74V29.54A2.71,2.71,0,0,0,81.68,26.69Zm-.53,8c-.11.73-.53,1.16-1.48,1.26H69.54c-1-.21-1.37-.53-1.47-1.26V30.59a1.44,1.44,0,0,1,1.47-1.48h10a1.54,1.54,0,0,1,1.58,1.48Z"/><path class="cls-1" d="M63.21,20.57V17A1.63,1.63,0,0,1,64.8,15.4H79.25c1.06-.11,1.58.42,1.58,1.37V19.3c0,.85-.52,1.27-1.47,1.27H64.59V23H81.47c1.79,0,2.74-.85,2.74-2.43V15.72A2.45,2.45,0,0,0,81.47,13H74.08V11H70.6v2H62.69c-2,0-3,.95-3,3v9.39a42.65,42.65,0,0,1-2,13l3.27.64a43.43,43.43,0,0,0,2.11-13V20.57Z"/><path class="cls-1" d="M90,24.47l3.38,1.8a10.1,10.1,0,0,0,3.9-5.81h5.91V18H97.82a25.57,25.57,0,0,0,.21-3h5V12.55H93.7V11H90.22v4h4.43a17.38,17.38,0,0,1-.21,2.95H89.38v2.53h4.43A7.05,7.05,0,0,1,90,24.47Z"/><path class="cls-1" d="M97.82,21.62A21.82,21.82,0,0,1,100,26.05h3.7a25.8,25.8,0,0,0-2.22-4.43Z"/><path class="cls-1" d="M112.17,26.79H93.39c-1.8.21-2.85,1.06-3,2.64v4.75H112v1c0,.85-.52,1.27-1.58,1.27h-15c-1,0-1.48-.42-1.48-1.16H90.54v1A2.75,2.75,0,0,0,93.18,39h19.09c2-.1,3.06-1,3.06-2.64V29.54A3.21,3.21,0,0,0,112.17,26.79Zm-.32,4.86h-18V30.8a1.43,1.43,0,0,1,1.48-1.47h15c1,0,1.58.52,1.58,1.47Z"/><path class="cls-1" d="M113.64,12h-6.22q-2.53.17-2.85,2.22V23.1a2.33,2.33,0,0,0,2.32,2.22h6.65c1.47-.11,2.32-.85,2.32-2.22V14.24C116,13,115.23,12.23,113.64,12Zm-1,9.29c0,1.05-.53,1.58-1.48,1.58h-1.79A1.39,1.39,0,0,1,108,21.31V16a1.42,1.42,0,0,1,1.47-1.47H111A1.53,1.53,0,0,1,112.59,16Z"/></svg> |
@@ -2,7 +2,6 @@ package models | |||
import ( | |||
"encoding/json" | |||
"errors" | |||
"fmt" | |||
"time" | |||
"xorm.io/xorm" | |||
@@ -300,7 +299,7 @@ type CommitImageResult struct { | |||
Payload map[string]interface{} `json:"payload"` | |||
} | |||
type StopJobResult struct { | |||
type CloudBrainResult struct { | |||
Code string `json:"code"` | |||
Msg string `json:"msg"` | |||
} | |||
@@ -569,7 +568,7 @@ func getRepoCloudBrain(cb *Cloudbrain) (*Cloudbrain, error) { | |||
if err != nil { | |||
return nil, err | |||
} else if !has { | |||
return nil, errors.New("cloudbrain task is not found") | |||
return nil, ErrJobNotExist{} | |||
} | |||
return cb, nil | |||
} | |||
@@ -609,3 +608,8 @@ func deleteJob(e Engine, job *Cloudbrain) error { | |||
_, err := e.ID(job.ID).Delete(job) | |||
return err | |||
} | |||
func GetCloudbrainByName(jobName string) (*Cloudbrain, error) { | |||
cb := &Cloudbrain{JobName: jobName} | |||
return getRepoCloudBrain(cb) | |||
} |
@@ -1987,3 +1987,15 @@ func IsErrFileChunkNotExist(err error) bool { | |||
_, ok := err.(ErrFileChunkNotExist) | |||
return ok | |||
} | |||
type ErrJobNotExist struct { | |||
} | |||
func IsErrJobNotExist(err error) bool { | |||
_, ok := err.(ErrJobNotExist) | |||
return ok | |||
} | |||
func (err ErrJobNotExist) Error() string { | |||
return fmt.Sprintf("the job does not exist") | |||
} |
@@ -2,6 +2,7 @@ package cloudbrain | |||
import ( | |||
"code.gitea.io/gitea/modules/log" | |||
"encoding/json" | |||
"fmt" | |||
"code.gitea.io/gitea/models" | |||
@@ -143,14 +144,26 @@ sendjob: | |||
return nil, fmt.Errorf("resty GetImages: %v", err) | |||
} | |||
if getImagesResult.Code == "S401" && retry < 1 { | |||
var response models.CloudBrainResult | |||
err = json.Unmarshal(res.Body(), &response) | |||
if err != nil { | |||
log.Error("json.Unmarshal failed: %s", err.Error()) | |||
return &getImagesResult, fmt.Errorf("json.Unmarshal failed: %s", err.Error()) | |||
} | |||
if response.Code == "S401" && retry < 1 { | |||
retry++ | |||
_ = loginCloudbrain() | |||
goto sendjob | |||
} | |||
if len(response.Code) != 0 { | |||
log.Error("getImagesResult failed(%s): %s", response.Code, response.Msg) | |||
return &getImagesResult, fmt.Errorf("getImagesResult failed(%s): %s", response.Code, response.Msg) | |||
} | |||
if getImagesResult.Code != Success { | |||
return &getImagesResult, fmt.Errorf("getImgesResult err: %s", res.String()) | |||
return &getImagesResult, fmt.Errorf("getImagesResult err: %s", res.String()) | |||
} | |||
return &getImagesResult, nil | |||
@@ -223,7 +236,7 @@ sendjob: | |||
func StopJob(jobID string) error { | |||
checkSetting() | |||
client := getRestyClient() | |||
var result models.StopJobResult | |||
var result models.CloudBrainResult | |||
retry := 0 | |||
@@ -434,3 +434,38 @@ func GetDivergingCommits(repoPath string, baseBranch string, targetBranch string | |||
return DivergeObject{ahead, behind}, nil | |||
} | |||
type Contributor struct { | |||
CommitCnt int | |||
Committer string | |||
Email string | |||
} | |||
func GetContributors(repoPath string) ([]Contributor, error){ | |||
cmd := NewCommand("shortlog", "-sne", "--all") | |||
stdout, err := cmd.RunInDir(repoPath) | |||
if err != nil { | |||
return nil, err | |||
} | |||
stdout = strings.Trim(stdout, "\n") | |||
contributorRows := strings.Split(stdout, "\n") | |||
if len(contributorRows) > 0 { | |||
contributorsInfo := make([]Contributor, len(contributorRows)) | |||
for i := 0; i < len(contributorRows); i++ { | |||
var oneCount string = strings.Trim(contributorRows[i], " ") | |||
if strings.Index(oneCount, "\t") < 0 { | |||
continue | |||
} | |||
number := oneCount[0:strings.Index(oneCount, "\t")] | |||
commitCnt, _ := strconv.Atoi(number) | |||
committer := oneCount[strings.Index(oneCount, "\t")+1:strings.LastIndex(oneCount, " ")] | |||
committer = strings.Trim(committer, " ") | |||
email := oneCount[strings.Index(oneCount, "<")+1:strings.Index(oneCount, ">")] | |||
contributorsInfo[i] = Contributor{ | |||
commitCnt, committer, email, | |||
} | |||
} | |||
return contributorsInfo, nil | |||
} | |||
return nil, nil | |||
} |
@@ -1,4 +1,5 @@ | |||
home = Home | |||
index = Home | |||
dashboard = Dashboard | |||
explore = Explore | |||
datasets = Datasets | |||
@@ -702,6 +703,7 @@ delete= delete | |||
owner = Owner | |||
repo_name = Repository Name | |||
repo_name_helper = Good repository names use short, memorable and unique keywords. | |||
repo_owner_helper = Some organizations may not show up in the dropdown due to a maximum repository count limit. | |||
repo_size = Repository Size | |||
template = Template | |||
template_select = Select a template. | |||
@@ -1817,6 +1819,7 @@ org_full_name_holder = Organization Full Name | |||
org_name_helper = Organization names should be short and memorable. | |||
create_org = Create Organization | |||
repo_updated = Updated | |||
home = Home | |||
people = People | |||
teams = Teams | |||
lower_members = members | |||
@@ -2482,9 +2485,9 @@ error.unit_not_allowed = You are not allowed to access this repository section. | |||
[custom] | |||
head.community = Community | |||
head.project = Project | |||
head.project = Repositories | |||
head.openi = OpenI | |||
head.dataset = Dataset | |||
head.dataset = Datasets | |||
foot.council = Council | |||
foot.technical_committee = Technical Committee | |||
foot.join = Join OpenI | |||
@@ -1,5 +1,5 @@ | |||
home=个人中心 | |||
index=首页 | |||
index=个人中心 | |||
dashboard=个人中心 | |||
explore=探索 | |||
datasets=数据集 | |||
@@ -287,7 +287,7 @@ email_domain_blacklisted=您不能使用您的电子邮件地址注册。 | |||
authorize_application=应用授权 | |||
authorize_redirect_notice=如果您授权此应用,您将会被重定向到 %s。 | |||
authorize_application_created_by=此应用由%s创建。 | |||
authorize_application_description=如果您允许,它将能够读取和修改您的所有帐户信息,包括私人项目和组织。 | |||
authorize_application_description=如果您允许,它将能够读取您的个人信息。 | |||
authorize_title=授权 %s 访问您的帐户? | |||
authorization_failed=授权失败 | |||
authorization_failed_desc=授权失败,这是一个无效的请求。请联系尝试授权应用的管理员。 | |||
@@ -704,6 +704,7 @@ delete=删除 | |||
owner=拥有者 | |||
repo_name=项目名称 | |||
repo_name_helper=好的存储库名称使用简短、深刻和独特的关键字。 | |||
repo_owner_helper = 由于最大存储库数量限制,某些组织名称可能不会显示在下拉列表中。 | |||
repo_size=项目大小 | |||
template=模板 | |||
template_select=选择模板 | |||
@@ -1819,6 +1820,7 @@ org_full_name_holder=组织全名 | |||
org_name_helper=组织名字应该简单明了。 | |||
create_org=创建组织 | |||
repo_updated=最后更新于 | |||
home=组织主页 | |||
people=组织成员 | |||
teams=组织团队 | |||
lower_members=名成员 | |||
@@ -2482,7 +2484,7 @@ error.unit_not_allowed=您没有权限访问此项目单元 | |||
[custom] | |||
head.community=启智社区 | |||
head.project=所有项目 | |||
head.project=项目 | |||
head.openi=启智项目 | |||
head.dataset=数据集 | |||
foot.council=理事会 | |||
@@ -20,6 +20,7 @@ const ( | |||
// Home show organization home page | |||
func Home(ctx *context.Context) { | |||
ctx.SetParams(":org", ctx.Params(":username")) | |||
ctx.Data["PageIsOrgHome"] = true | |||
context.HandleOrgAssignment(ctx) | |||
if ctx.Written() { | |||
return | |||
@@ -168,11 +168,24 @@ func CloudBrainCreate(ctx *context.Context, form auth.CreateCloudBrainForm) { | |||
ctx.RenderWithErr("jobtype error", tplCloudBrainNew, &form) | |||
return | |||
} | |||
_, err := models.GetCloudbrainByName(jobName) | |||
if err == nil { | |||
log.Error("the job name did already exist", ctx.Data["MsgID"]) | |||
ctx.RenderWithErr("the job name did already exist", tplCloudBrainNew, &form) | |||
return | |||
} else { | |||
if !models.IsErrJobNotExist(err) { | |||
log.Error("system error, %v", err, ctx.Data["MsgID"]) | |||
ctx.RenderWithErr("system error", tplCloudBrainNew, &form) | |||
return | |||
} | |||
} | |||
repo := ctx.Repo.Repository | |||
downloadCode(repo, codePath) | |||
modelPath := setting.JobPath + jobName + cloudbrain.ModelMountPath | |||
err := os.MkdirAll(modelPath, os.ModePerm) | |||
err = os.MkdirAll(modelPath, os.ModePerm) | |||
if err != nil { | |||
ctx.RenderWithErr(err.Error(), tplCloudBrainNew, &form) | |||
return | |||
@@ -7,6 +7,7 @@ package repo | |||
import ( | |||
"bytes" | |||
"code.gitea.io/gitea/modules/options" | |||
"encoding/base64" | |||
"fmt" | |||
gotemplate "html/template" | |||
@@ -567,9 +568,32 @@ func safeURL(address string) string { | |||
return u.String() | |||
} | |||
type ContributorInfo struct { | |||
UserInfo *models.User | |||
Email string // for contributor who is not a registered user | |||
} | |||
// Home render repository home page | |||
func Home(ctx *context.Context) { | |||
if len(ctx.Repo.Units) > 0 { | |||
//get repo contributors info | |||
contributors, err := git.GetContributors(ctx.Repo.Repository.RepoPath()) | |||
if err == nil && contributors != nil { | |||
var contributorInfos []*ContributorInfo | |||
for _, c := range contributors { | |||
user, err := models.GetUserByEmail(c.Email) | |||
if err == nil { | |||
contributorInfos = append(contributorInfos, &ContributorInfo{ | |||
user, c.Email, | |||
}) | |||
} else { | |||
contributorInfos = append(contributorInfos, &ContributorInfo{ | |||
nil, c.Email, | |||
}) | |||
} | |||
} | |||
ctx.Data["ContributorInfo"] = contributorInfos | |||
} | |||
if ctx.Repo.Repository.IsBeingCreated() { | |||
task, err := models.GetMigratingTask(ctx.Repo.Repository.ID) | |||
if err != nil { | |||
@@ -611,6 +635,39 @@ func Home(ctx *context.Context) { | |||
ctx.NotFound("Home", fmt.Errorf(ctx.Tr("units.error.no_unit_allowed_repo"))) | |||
} | |||
func renderLicense(ctx *context.Context) { | |||
entry, err := ctx.Repo.Commit.GetTreeEntryByPath("LICENSE") | |||
if err != nil { | |||
log.Error(err.Error()) | |||
return | |||
} | |||
blob := entry.Blob() | |||
dataRc, err := blob.DataAsync() | |||
if err != nil { | |||
log.Error("DataAsync", err) | |||
return | |||
} | |||
defer dataRc.Close() | |||
buf, err := ioutil.ReadAll(dataRc) | |||
if err != nil { | |||
log.Error("DataAsync", err) | |||
return | |||
} | |||
for _, f := range models.Licenses { | |||
license, err := options.License(f) | |||
if err != nil { | |||
log.Error("failed to get license content: %v, err:%v", f, err) | |||
continue | |||
} | |||
if bytes.Compare(buf,license) == 0 { | |||
log.Info("got matched license:%v",f) | |||
ctx.Data["LICENSE"] = f | |||
return | |||
} | |||
} | |||
log.Info("not found matched license,repo:%v",ctx.Repo.Repository.Name) | |||
} | |||
func renderLanguageStats(ctx *context.Context) { | |||
langs, err := ctx.Repo.Repository.GetTopLanguageStats(5) | |||
if err != nil { | |||
@@ -657,6 +714,8 @@ func renderCode(ctx *context.Context) { | |||
// Get Topics of this repo | |||
renderRepoTopics(ctx) | |||
// Get license of this repo | |||
renderLicense(ctx) | |||
if ctx.Written() { | |||
return | |||
} | |||
@@ -307,7 +307,7 @@ func RegisterRoutes(m *macaron.Macaron) { | |||
m.Head("/", func() string { | |||
return "" | |||
}) | |||
m.Get("/", routers.ExploreRepos) | |||
m.Get("/", routers.Dashboard) | |||
m.Get("/dashboard", routers.Dashboard) | |||
m.Group("/explore", func() { | |||
m.Get("", func(ctx *context.Context) { | |||
@@ -535,7 +535,10 @@ func handleSignInFull(ctx *context.Context, u *models.User, remember bool, obeyR | |||
log.Error("Unable to store session: %v", err) | |||
} | |||
// Language setting of the user overwrites the one previously set | |||
// Language setting of the user use the one previously set | |||
if len(ctx.GetCookie("lang")) != 0 { | |||
u.Language = ctx.GetCookie("lang") | |||
} | |||
// If the user does not have a locale set, we save the current one. | |||
if len(u.Language) == 0 { | |||
u.Language = ctx.Locale.Language() | |||
@@ -5,15 +5,15 @@ | |||
<div class="ui three column grid"> | |||
<div class="column ui vertical text menu"> | |||
<div class="header item">{{.i18n.Tr "custom.head.community"}}</div> | |||
<a href="https://www.openi.org.cn/html/Club/2019/0227/14.html" class="item">{{.i18n.Tr "custom.foot.council"}}</a> | |||
<a href="https://www.openi.org.cn/html/Club/2019/0227/14.html" class="item">{{.i18n.Tr "custom.foot.technical_committee"}}</a> | |||
<a href="https://www.openi.org.cn/html/Club/2019/0228/17.html" class="item">{{.i18n.Tr "custom.foot.join"}}</a> | |||
<a href="https://openi.org.cn/html/Club/2019/0227/14.html" class="item">{{.i18n.Tr "custom.foot.council"}}</a> | |||
<a href="https://openi.org.cn/html/Club/2019/0227/14.html" class="item">{{.i18n.Tr "custom.foot.technical_committee"}}</a> | |||
<a href="https://openi.org.cn/html/Club/2019/0228/17.html" class="item">{{.i18n.Tr "custom.foot.join"}}</a> | |||
</div> | |||
<div class="column ui vertical text menu"> | |||
<div class="header item">{{.i18n.Tr "custom.foot.news"}}</div> | |||
<a href="https://www.openi.org.cn/html/news/dongtai/" class="item">{{.i18n.Tr "custom.foot.community_news"}}</a> | |||
<a href="https://www.openi.org.cn/html/news/huodong/" class="item">{{.i18n.Tr "custom.foot.member_news"}}</a> | |||
<a href="https://www.openi.org.cn/html/news/zixun/" class="item">{{.i18n.Tr "custom.foot.industry_advisory"}}</a> | |||
<a href="https://openi.org.cn/html/news/dongtai/" class="item">{{.i18n.Tr "custom.foot.community_news"}}</a> | |||
<a href="https://openi.org.cn/html/news/huodong/" class="item">{{.i18n.Tr "custom.foot.member_news"}}</a> | |||
<a href="https://openi.org.cn/html/news/zixun/" class="item">{{.i18n.Tr "custom.foot.industry_advisory"}}</a> | |||
</div> | |||
<div class="column ui vertical text menu"> | |||
<div class="header item">{{.i18n.Tr "custom.foot.help"}}</div> | |||
@@ -32,9 +32,9 @@ | |||
</div> | |||
</div> | |||
<div class="sixteen wide mobile eight wide tablet eight wide computer column" style=" margin:2.0rem 0"> | |||
{{.i18n.Tr "custom.foot.copyright"}} <a href="http://beian.miit.gov.cn/" target="_blank">京ICP备18004880号-2</a> | |||
{{.i18n.Tr "custom.foot.copyright"}} <a href="http://beian.miit.gov.cn/" target="_blank">京ICP备18004880号</a> | |||
<br> | |||
{{.i18n.Tr "powered_by 鹏城实验室云脑、"}}<a href="https://www.trustie.net/" target="_blank">Trustie确实</a>{{.i18n.Tr "、gitea"}} | |||
{{.i18n.Tr "Powered_by 鹏城实验室云脑、"}}<a href="https://www.trustie.net/" target="_blank">Trustie确实</a>{{.i18n.Tr "、gitea"}} | |||
<br> | |||
</div> | |||
</div> | |||
@@ -0,0 +1,210 @@ | |||
<!DOCTYPE html> | |||
<html lang="{{.Language}}"> | |||
<head data-suburl="{{AppSubUrl}}"> | |||
<meta charset="utf-8"> | |||
<meta name="viewport" content="width=device-width, initial-scale=1"> | |||
<meta http-equiv="x-ua-compatible" content="ie=edge"> | |||
<title>{{if .Title}}{{.Title}} - {{end}} {{if .Repository.Name}}{{.Repository.Name}} - {{end}}{{AppName}}</title> | |||
<link rel="manifest" href="{{AppSubUrl}}/manifest.json" crossorigin="use-credentials"> | |||
{{if UseServiceWorker}} | |||
<script> | |||
if ('serviceWorker' in navigator) { | |||
navigator.serviceWorker.register('{{AppSubUrl}}/serviceworker.js').then(function(registration) { | |||
// Registration was successful | |||
console.info('ServiceWorker registration successful with scope: ', registration.scope); | |||
}, function(err) { | |||
// registration failed :( | |||
console.info('ServiceWorker registration failed: ', err); | |||
}); | |||
} | |||
</script> | |||
{{else}} | |||
<script> | |||
if ('serviceWorker' in navigator) { | |||
navigator.serviceWorker.getRegistrations().then(function(registrations) { | |||
registrations.forEach(function(registration) { | |||
registration.unregister(); | |||
console.info('ServiceWorker unregistered'); | |||
}); | |||
}); | |||
} | |||
</script> | |||
{{end}} | |||
<meta name="theme-color" content="{{ThemeColorMetaTag}}"> | |||
<meta name="author" content="{{if .Repository}}{{.Owner.Name}}{{else}}{{MetaAuthor}}{{end}}" /> | |||
<meta name="description" content="{{if .Repository}}{{.Repository.Name}}{{if .Repository.Description}} - {{.Repository.Description}}{{end}}{{else}}{{MetaDescription}}{{end}}" /> | |||
<meta name="keywords" content="{{MetaKeywords}}"> | |||
<meta name="referrer" content="no-referrer" /> | |||
<meta name="_csrf" content="{{.CsrfToken}}" /> | |||
{{if .IsSigned}} | |||
<meta name="_uid" content="{{.SignedUser.ID}}" /> | |||
{{end}} | |||
{{if .ContextUser}} | |||
<meta name="_context_uid" content="{{.ContextUser.ID}}" /> | |||
{{end}} | |||
{{if .SearchLimit}} | |||
<meta name="_search_limit" content="{{.SearchLimit}}" /> | |||
{{end}} | |||
{{if .GoGetImport}} | |||
<meta name="go-import" content="{{.GoGetImport}} git {{.CloneLink.HTTPS}}"> | |||
<meta name="go-source" content="{{.GoGetImport}} _ {{.GoDocDirectory}} {{.GoDocFile}}"> | |||
{{end}} | |||
<script> | |||
{{SafeJS `/* | |||
@licstart The following is the entire license notice for the | |||
JavaScript code in this page. | |||
Copyright (c) 2016 The Gitea Authors | |||
Copyright (c) 2015 The Gogs Authors | |||
Permission is hereby granted, free of charge, to any person obtaining a copy | |||
of this software and associated documentation files (the "Software"), to deal | |||
in the Software without restriction, including without limitation the rights | |||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | |||
copies of the Software, and to permit persons to whom the Software is | |||
furnished to do so, subject to the following conditions: | |||
The above copyright notice and this permission notice shall be included in | |||
all copies or substantial portions of the Software. | |||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | |||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | |||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | |||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | |||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | |||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN | |||
THE SOFTWARE. | |||
--- | |||
Licensing information for additional javascript libraries can be found at: | |||
{{StaticUrlPrefix}}/vendor/librejs.html | |||
@licend The above is the entire license notice | |||
for the JavaScript code in this page. | |||
*/`}} | |||
</script> | |||
<script> | |||
window.config = { | |||
AppSubUrl: '{{AppSubUrl}}', | |||
StaticUrlPrefix: '{{StaticUrlPrefix}}', | |||
csrf: '{{.CsrfToken}}', | |||
HighlightJS: {{if .RequireHighlightJS}}true{{else}}false{{end}}, | |||
Minicolors: {{if .RequireMinicolors}}true{{else}}false{{end}}, | |||
SimpleMDE: {{if .RequireSimpleMDE}}true{{else}}false{{end}}, | |||
Tribute: {{if .RequireTribute}}true{{else}}false{{end}}, | |||
U2F: {{if .RequireU2F}}true{{else}}false{{end}}, | |||
Heatmap: {{if .EnableHeatmap}}true{{else}}false{{end}}, | |||
heatmapUser: {{if .HeatmapUser}}'{{.HeatmapUser}}'{{else}}null{{end}}, | |||
NotificationSettings: { | |||
MinTimeout: {{NotificationSettings.MinTimeout}}, | |||
TimeoutStep: {{NotificationSettings.TimeoutStep}}, | |||
MaxTimeout: {{NotificationSettings.MaxTimeout}}, | |||
EventSourceUpdateTime: {{NotificationSettings.EventSourceUpdateTime}}, | |||
}, | |||
{{if .RequireTribute}} | |||
tributeValues: [ | |||
{{ range .Assignees }} | |||
{key: '{{.Name}} {{.FullName}}', value: '{{.Name}}', | |||
name: '{{.Name}}', fullname: '{{.FullName}}', avatar: '{{.RelAvatarLink}}'}, | |||
{{ end }} | |||
], | |||
{{end}} | |||
}; | |||
</script> | |||
<link rel="shortcut icon" href="{{StaticUrlPrefix}}/img/favicon.png"> | |||
<link rel="mask-icon" href="{{StaticUrlPrefix}}/img/gitea-safari.svg" color="#609926"> | |||
<link rel="fluid-icon" href="{{StaticUrlPrefix}}/img/gitea-lg.png" title="{{AppName}}"> | |||
<link rel="stylesheet" href="{{StaticUrlPrefix}}/vendor/assets/font-awesome/css/font-awesome.min.css"> | |||
<link rel="preload" as="font" href="{{StaticUrlPrefix}}/fomantic/themes/default/assets/fonts/icons.woff2" type="font/woff2" crossorigin="anonymous"> | |||
<link rel="preload" as="font" href="{{StaticUrlPrefix}}/fomantic/themes/default/assets/fonts/outline-icons.woff2" type="font/woff2" crossorigin="anonymous"> | |||
<link rel="stylesheet" href="/css/git.openi.css"> | |||
{{if .RequireSimpleMDE}} | |||
<link rel="stylesheet" href="{{StaticUrlPrefix}}/vendor/plugins/simplemde/simplemde.min.css"> | |||
{{end}} | |||
{{if .RequireTribute}} | |||
<link rel="stylesheet" href="{{StaticUrlPrefix}}/vendor/plugins/tribute/tribute.css"> | |||
{{end}} | |||
<link rel="stylesheet" href="{{StaticUrlPrefix}}/fomantic/semantic.min.css?v={{MD5 AppVer}}"> | |||
<link rel="stylesheet" href="{{StaticUrlPrefix}}/css/index.css?v={{MD5 AppVer}}"> | |||
<noscript> | |||
<style> | |||
.dropdown:hover > .menu { display: block; } | |||
.ui.secondary.menu .dropdown.item > .menu { margin-top: 0; } | |||
</style> | |||
</noscript> | |||
{{if .RequireMinicolors}} | |||
<link rel="stylesheet" href="{{StaticUrlPrefix}}/vendor/plugins/jquery.minicolors/jquery.minicolors.css"> | |||
{{end}} | |||
<style class="list-search-style"></style> | |||
{{if .PageIsUserProfile}} | |||
<meta property="og:title" content="{{.Owner.Name}}" /> | |||
<meta property="og:type" content="profile" /> | |||
<meta property="og:image" content="{{.Owner.AvatarLink}}" /> | |||
<meta property="og:url" content="{{.Owner.HTMLURL}}" /> | |||
{{if .Owner.Description}} | |||
<meta property="og:description" content="{{.Owner.Description}}"> | |||
{{end}} | |||
{{else if .Repository}} | |||
{{if .Issue}} | |||
<meta property="og:title" content="{{.Issue.Title}}" /> | |||
<meta property="og:url" content="{{.Issue.HTMLURL}}" /> | |||
{{if .Issue.Content}} | |||
<meta property="og:description" content="{{.Issue.Content}}" /> | |||
{{end}} | |||
{{else}} | |||
<meta property="og:title" content="{{.Repository.Name}}" /> | |||
<meta property="og:url" content="{{.Repository.HTMLURL}}" /> | |||
{{if .Repository.Description}} | |||
<meta property="og:description" content="{{.Repository.Description}}" /> | |||
{{end}} | |||
{{end}} | |||
<meta property="og:type" content="object" /> | |||
<meta property="og:image" content="{{.Repository.Owner.AvatarLink}}" /> | |||
{{else}} | |||
<meta property="og:title" content="{{AppName}}"> | |||
<meta property="og:type" content="website" /> | |||
<meta property="og:image" content="{{StaticUrlPrefix}}/img/gitea-lg.png" /> | |||
<meta property="og:url" content="{{AppUrl}}" /> | |||
<meta property="og:description" content="{{MetaDescription}}"> | |||
{{end}} | |||
<meta property="og:site_name" content="{{AppName}}" /> | |||
{{if .IsSigned }} | |||
{{ if ne .SignedUser.Theme "gitea" }} | |||
<link rel="stylesheet" href="{{StaticUrlPrefix}}/css/theme-{{.SignedUser.Theme}}.css?v={{MD5 AppVer}}"> | |||
{{end}} | |||
{{else if ne DefaultTheme "gitea"}} | |||
<link rel="stylesheet" href="{{StaticUrlPrefix}}/css/theme-{{DefaultTheme}}.css?v={{MD5 AppVer}}"> | |||
{{end}} | |||
{{template "custom/header" .}} | |||
<script> | |||
var _hmt = _hmt || []; | |||
(function() { | |||
var hm = document.createElement("script"); | |||
hm.src = "https://hm.baidu.com/hm.js?7c4ef0a24be6109ab22e63c832ab21cf"; | |||
var s = document.getElementsByTagName("script")[0]; | |||
s.parentNode.insertBefore(hm, s); | |||
})(); | |||
</script> | |||
</head> | |||
<body> | |||
{{template "custom/body_outer_pre" .}} | |||
<div class="full height"> | |||
<noscript>{{.i18n.Tr "enable_javascript"}}</noscript> | |||
<div class="ui vertical masthead secondary hometop segment"> | |||
{{template "custom/body_inner_pre" .}} | |||
{{if not .PageIsInstall}} | |||
<div class="ui container"> | |||
<div class="ui top secondary stackable main menu following bar"> | |||
{{template "base/head_navbar_home" .}} | |||
</div><!-- end bar --> | |||
</div> | |||
{{end}} | |||
{{/* | |||
</div> | |||
</div> | |||
</body> | |||
</html> | |||
*/}} |
@@ -1,7 +1,7 @@ | |||
<div class="ui container" id="navbar"> | |||
<div class="item brand" style="justify-content: space-between;"> | |||
<a href="https://openi.org.cn/"> | |||
<img class="ui mini image" src="{{StaticUrlPrefix}}/img/openi-logo-w.svg?v=2020091401"> | |||
<img class="ui mini image" src="{{StaticUrlPrefix}}/img/logo-w.svg"> | |||
</a> | |||
<div class="ui basic icon button mobile-only" id="navbar-expand-toggle"> | |||
<i class="sidebar icon"></i> | |||
@@ -31,7 +31,7 @@ | |||
</div> | |||
</div> | |||
{{else if .IsLandingPageHome}} | |||
<a class="item {{if .PageIsHome}}active{{end}}" href="{{AppSubUrl}}/user/login?redirect_to={{.Link}}">{{.i18n.Tr "home"}}</a> | |||
<a class="item {{if .PageIsHome}}active{{end}}" href="{{AppSubUrl}}/dashboard">{{.i18n.Tr "home"}}</a> | |||
<a class="item" href="{{AppSubUrl}}/OpenI">{{.i18n.Tr "custom.head.openi"}}</a> | |||
<div class="ui dropdown item"> | |||
@@ -0,0 +1,161 @@ | |||
<div class="ui container" id="navbar"> | |||
<div class="item brand" style="justify-content: space-between;"> | |||
<a href="https://openi.org.cn/"> | |||
<img class="ui mini image" src="{{StaticUrlPrefix}}/img/logo.svg"> | |||
</a> | |||
<div class="ui basic icon button mobile-only" id="navbar-expand-toggle"> | |||
<i class="sidebar icon"></i> | |||
</div> | |||
</div> | |||
{{if .IsSigned}} | |||
<a class="item {{if .PageIsDashboard}}active{{end}}" href="/dashboard">{{.i18n.Tr "index"}}</a> | |||
<a class="item" href="{{AppSubUrl}}/OpenI">{{.i18n.Tr "custom.head.openi"}}</a> | |||
{{if not .UnitIssuesGlobalDisabled}} | |||
<a class="item {{if .PageIsIssues}}active{{end}}" href="{{AppSubUrl}}/issues">{{.i18n.Tr "issues"}}</a> | |||
{{end}} | |||
{{if not .UnitPullsGlobalDisabled}} | |||
<a class="item {{if .PageIsPulls}}active{{end}}" href="{{AppSubUrl}}/pulls">{{.i18n.Tr "pull_requests"}}</a> | |||
{{end}} | |||
{{if not (and .UnitIssuesGlobalDisabled .UnitPullsGlobalDisabled)}} | |||
{{if .ShowMilestonesDashboardPage}}<a class="item {{if .PageIsMilestonesDashboard}}active{{end}}" href="{{AppSubUrl}}/milestones">{{.i18n.Tr "milestones"}}</a>{{end}} | |||
{{end}} | |||
<div class="ui dropdown item"> | |||
{{.i18n.Tr "explore"}} | |||
<i class="dropdown icon"></i> | |||
<div class="menu"> | |||
<a class="item" href="{{AppSubUrl}}/explore/repos">{{.i18n.Tr "custom.head.project"}}</a> | |||
<a class="item" href="{{AppSubUrl}}/explore/datasets">{{.i18n.Tr "custom.head.dataset"}}</a> | |||
<a class="item" href="{{AppSubUrl}}/explore/users">{{.i18n.Tr "explore.users"}}</a> | |||
<a class="item" href="{{AppSubUrl}}/explore/organizations">{{.i18n.Tr "explore.organizations"}}</a> | |||
</div> | |||
</div> | |||
{{else if .IsLandingPageHome}} | |||
<a class="item {{if .PageIsHome}}active{{end}}" href="{{AppSubUrl}}/dashboard">{{.i18n.Tr "home"}}</a> | |||
<a class="item" href="{{AppSubUrl}}/OpenI">{{.i18n.Tr "custom.head.openi"}}</a> | |||
<div class="ui dropdown item"> | |||
{{.i18n.Tr "explore"}} | |||
<i class="dropdown icon"></i> | |||
<div class="menu"> | |||
<a class="item" href="{{AppSubUrl}}/explore/repos">{{.i18n.Tr "custom.head.project"}}</a> | |||
<a class="item" href="{{AppSubUrl}}/explore/datasets">{{.i18n.Tr "datasets"}}</a> | |||
<a class="item" href="{{AppSubUrl}}/explore/users">{{.i18n.Tr "explore.users"}}</a> | |||
<a class="item" href="{{AppSubUrl}}/explore/organizations">{{.i18n.Tr "explore.organizations"}}</a> | |||
</div> | |||
</div> | |||
{{else if .IsLandingPageExplore}} | |||
<a class="item {{if .PageIsExplore}}active{{end}}" href="{{AppSubUrl}}/explore/repos">{{.i18n.Tr "home"}}</a> | |||
{{else if .IsLandingPageOrganizations}} | |||
<a class="item {{if .PageIsExplore}}active{{end}}" href="{{AppSubUrl}}/explore/organizations">{{.i18n.Tr "home"}}</a> | |||
{{end}} | |||
{{template "custom/extra_links" .}} | |||
{{/* | |||
<div class="item"> | |||
<div class="ui icon input"> | |||
<input class="searchbox" type="text" placeholder="{{.i18n.Tr "search_project"}}"> | |||
<i class="search icon"></i> | |||
</div> | |||
</div> | |||
*/}} | |||
{{if .IsSigned}} | |||
<div class="right stackable menu"> | |||
<a href="{{AppSubUrl}}/notifications" class="item poping up" data-content='{{.i18n.Tr "notifications"}}' data-variation="tiny inverted"> | |||
<span class="text"> | |||
<span class="fitted">{{svg "octicon-bell" 16}}</span> | |||
<span class="sr-mobile-only">{{.i18n.Tr "notifications"}}</span> | |||
{{$notificationUnreadCount := 0}} | |||
{{if .NotificationUnreadCount}}{{$notificationUnreadCount = call .NotificationUnreadCount}}{{end}} | |||
<span class="ui red label {{if not $notificationUnreadCount}}hidden{{end}} notification_count"> | |||
{{$notificationUnreadCount}} | |||
</span> | |||
</span> | |||
</a> | |||
<div class="ui dropdown jump item poping up" data-content="{{.i18n.Tr "create_new"}}" data-variation="tiny inverted"> | |||
<span class="text"> | |||
<span class="fitted">{{svg "octicon-plus" 16}}</span> | |||
<span class="sr-mobile-only">{{.i18n.Tr "create_new"}}</span> | |||
<span class="fitted not-mobile">{{svg "octicon-triangle-down" 16}}</span> | |||
</span> | |||
<div class="menu"> | |||
<a class="item" href="{{AppSubUrl}}/repo/create"> | |||
<span class="fitted">{{svg "octicon-plus" 16}}</span> {{.i18n.Tr "new_repo"}} | |||
</a> | |||
<a class="item" href="{{AppSubUrl}}/repo/migrate"> | |||
<span class="fitted">{{svg "octicon-repo-clone" 16}}</span> {{.i18n.Tr "new_migrate"}} | |||
</a> | |||
{{if .SignedUser.CanCreateOrganization}} | |||
<a class="item" href="{{AppSubUrl}}/org/create"> | |||
<span class="fitted">{{svg "octicon-organization" 16}}</span> {{.i18n.Tr "new_org"}} | |||
</a> | |||
{{end}} | |||
</div><!-- end content create new menu --> | |||
</div><!-- end dropdown menu create new --> | |||
<div class="ui dropdown jump item poping up" tabindex="-1" data-content="{{.i18n.Tr "user_profile_and_more"}}" data-variation="tiny inverted"> | |||
<span class="text"> | |||
<img class="ui tiny avatar image" width="24" height="24" src="{{.SignedUser.RelAvatarLink}}"> | |||
<span class="sr-only">{{.i18n.Tr "user_profile_and_more"}}</span> | |||
<span class="mobile-only">{{.SignedUser.Name}}</span> | |||
<span class="fitted not-mobile" tabindex="-1">{{svg "octicon-triangle-down" 16}}</span> | |||
</span> | |||
<div class="menu user-menu" tabindex="-1"> | |||
<div class="ui header"> | |||
{{.i18n.Tr "signed_in_as"}} <strong>{{.SignedUser.Name}}</strong> | |||
</div> | |||
<div class="divider"></div> | |||
<a class="item" href="{{AppSubUrl}}/{{.SignedUser.Name}}"> | |||
{{svg "octicon-person" 16}} | |||
{{.i18n.Tr "your_profile"}}<!-- Your profile --> | |||
</a> | |||
<a class="item" href="{{AppSubUrl}}/{{.SignedUser.Name}}?tab=stars"> | |||
{{svg "octicon-star" 16}} | |||
{{.i18n.Tr "your_starred"}} | |||
</a> | |||
<a class="{{if .PageIsUserSettings}}active{{end}} item" href="{{AppSubUrl}}/user/settings"> | |||
{{svg "octicon-settings" 16}} | |||
{{.i18n.Tr "your_settings"}}<!-- Your settings --> | |||
</a> | |||
<!--a class="item" target="_blank" rel="noopener noreferrer" href="https://docs.gitea.io"> | |||
{{svg "octicon-question" 16}} | |||
{{.i18n.Tr "help"}}<!-- Help --> | |||
</a--> | |||
{{if .IsAdmin}} | |||
<div class="divider"></div> | |||
<a class="{{if .PageIsAdmin}}active{{end}} item" href="{{AppSubUrl}}/admin"> | |||
<i class="icon settings"></i> | |||
{{.i18n.Tr "admin_panel"}}<!-- Admin Panel --> | |||
</a> | |||
{{end}} | |||
<div class="divider"></div> | |||
<a class="item link-action" href data-url="{{AppSubUrl}}/user/logout" data-redirect="{{AppSubUrl}}/"> | |||
{{svg "octicon-sign-out" 16}} | |||
{{.i18n.Tr "sign_out"}}<!-- Sign Out --> | |||
</a> | |||
</div><!-- end content avatar menu --> | |||
</div><!-- end dropdown avatar menu --> | |||
</div><!-- end signed user right menu --> | |||
{{else}} | |||
<!--a class="item" target="_blank" rel="noopener noreferrer" href="https://docs.gitea.io">{{.i18n.Tr "help"}}</a--> | |||
<div class="right stackable menu"> | |||
{{if .ShowRegistrationButton}} | |||
<a class="item{{if .PageIsSignUp}} active{{end}}" href="{{AppSubUrl}}/user/sign_up"> | |||
{{svg "octicon-person" 16}} {{.i18n.Tr "register"}} | |||
</a> | |||
{{end}} | |||
<a class="item{{if .PageIsSignIn}} active{{end}}" rel="nofollow" href="{{AppSubUrl}}/user/login?redirect_to={{.Link}}"> | |||
{{svg "octicon-sign-in" 16}} {{.i18n.Tr "sign_in"}} | |||
</a> | |||
</div><!-- end anonymous right menu --> | |||
{{end}} | |||
</div> |
@@ -33,7 +33,7 @@ | |||
<img class="ui avatar image" src="{{.RelAvatarLink}}"> | |||
{{end}} | |||
<a class="name" href="{{.Link}}"> | |||
{{if or $.PageIsExplore $.PageIsProfileStarList }}{{if .Owner}}{{.Owner.Name}} / {{end}}{{end}}{{.Name}} | |||
{{if or $.PageIsExplore $.PageIsProfileStarList }}{{if .Owner}}{{.Owner.Name}} <span>/</span> {{end}}{{end}}<strong>{{.Name}}</strong> | |||
{{if .IsArchived}}<i class="archive icon archived-icon"></i>{{end}} | |||
</a> | |||
{{if .IsPrivate}} | |||
@@ -1,4 +1 @@ | |||
<a href="https://openi.org.cn/html/2020/qimengxingdong_0813/450.html" target="_blank"><img class="ui mini image" src="/img/banner-qimen-4X3.jpg" style="width:100%;"></a> | |||
<div style="margin:16px 0;display:flex;justify-content:center"> | |||
<a class="ui blue button" href="mailto:secretariat@openi.org.cn?subject=申请贡献项目到OpenI&&body=贡献者自我介绍%3A%0D%0A申请理由%3A%0D%0A 项目地址%3A%0D%0A 联系方式%3A">申请贡献项目到OpenI</a> | |||
<div> | |||
<a href="https://openi.org.cn/html/2020/qimengxingdong_0813/450.html" target="_blank"><img class="ui mini image" src="/img/banner-qimen-4X3.jpg" style="width:100%;"></a> |
@@ -1,264 +1,208 @@ | |||
{{template "base/head" .}} | |||
{{template "base/head_home" .}} | |||
<div class="ui container homebanner"> | |||
<h1 class="ui header"> | |||
启智AI开发协作平台 | |||
<div class="sub header"> | |||
面向AI领域的一站式协同开发环境 | |||
</div> | |||
</h1> | |||
<p class="am-lh-18">免费私有代码仓库,免费计算资源,大容量数据存储,<br>多类型硬件环境(GPU、NPU),AI开发流水线(开发-调试-训练-迭代)</p> | |||
<a class="circular ui secondary button" href="{{AppSubUrl}}/user/sign_up">立即使用 <i class="right arrow icon"></i></a> | |||
<div class="bannerpic"><img class="ui fluid image" src="/img/gitopeni-index-01.svg"></div> | |||
</div> | |||
</div><!-- end segment --> | |||
<div class="home"> | |||
<script> | |||
var head = document.head || document.getElementsByTagName('head')[0]; | |||
var t = document.createElement('base'); //创建title元素 | |||
t.target = '_blank'; //设置标题内容 | |||
head.appendChild(t); | |||
<div class="explore repositories"> | |||
<div class="ui sticky container"> | |||
<div class="ui secondary pointing fluid five item menu" style="background-color: #FFF;"> | |||
<a class="item" href="#first">代码</a> | |||
<a class="item" href="#second">数据</a> | |||
<a class="item" href="#third">AI流水线</a> | |||
<a class="item" href="#fourth">协同开发</a> | |||
<a class="item" href="#fifth">云脑协同</a> | |||
</div> | |||
</div> | |||
document.addEventListener('DOMContentLoaded', function() { | |||
particleground(document.getElementById('particles'), { | |||
dotColor: 'rgba(0,176,240,0.2)', | |||
lineColor: 'rgba(68,114,196,0.1)' | |||
}); | |||
var intro = document.getElementById('intro'); | |||
if (intro) { | |||
intro.style.marginTop = -intro.offsetHeight / 2 + 'px'; | |||
} | |||
}, false); | |||
</script> | |||
<div id="index-project"> | |||
<div id="particles"></div> | |||
<div class="center aligned ui container inverted segment"> | |||
<!--内容宽度,默认1127px--> | |||
<h1 class="ui header section--header">启智社区 | |||
<p class="sub header">Open Intelligence,Open Source,Open Community,Open Ecosystem</p> | |||
</h1> | |||
<div class="ui six column grid prorow"> | |||
<div class="eight wide mobile four wide tablet four wide computer column ipros"> | |||
<div class="ui card"> | |||
<div class="image"><img src="https://www.openi.org.cn/statics/openi/images/index/openi-paddle.png" style=" height:20px;"></div> | |||
<div class="content ui grid"> | |||
<div class="header right aligned eight wide column" style=" border-right:2px solid #ffc000"> | |||
<span style="color: #5170ff;">OpenI</span> <b style="color:#FFF">DL</b> | |||
</div> | |||
<div class="header left aligned eight wide column"> | |||
<span style="color: #5170ff;">OpenI</span> <b style="color:#ffc000">RL</b> | |||
</div> | |||
</div> | |||
<div class="extra content"> | |||
<div class="center floated author"> | |||
贡献者:百度 | |||
</div> | |||
</div> | |||
<div id="railContent"> | |||
<a name="first"></a> | |||
<div class="ui container am-mt-30 basic tab i-code active" style="position: relative;"> | |||
<div class="ui inverted very padded segment radius15 am-pl-30"> | |||
<div class="ui mobile reversed stackable grid am-pl-30"> | |||
<div class="six wide column"> | |||
<h2 class="ui huge blue header">代码管理</h2> | |||
<p class="am-lh-18">在这里为你和你的团队创建项目,基于Git工具,提交记录或者回滚代码修改。<br> | |||
不论是公开或者私有仓库,都可免费使用所有功能。<br> | |||
尽情将你喜欢的代码都放在这里,仓库数量、存储容量不受限</p> | |||
<a class="ui blue basic button am-mt-20" href="{{AppSubUrl}}/user/sign_up">立即使用</a> | |||
</div> | |||
<a class="flip" href="https://openi.org.cn/projects/paddle/"></a> | |||
</div> | |||
<div class="eight wide mobile three wide tablet three wide computer column ipros"> | |||
<div class="ui card"> | |||
<div class="image"> | |||
<img src="https://www.openi.org.cn/statics/openi/images/index/openi-tianyuan.png" alt="Brain++·天元" style=" height:50px;"> | |||
</div> | |||
<div class="content"> | |||
<div class="header">Brain++·天元</div> | |||
</div> | |||
<div class="extra content"> | |||
<div class="center floated author"> | |||
贡献者:旷视 | |||
</div> | |||
</div> | |||
<div class="ten wide column computer only i-code-pic am-pt-30"> | |||
<img class="ui fluid rounded image am-shadow-2 am-mt-10" src="/img/i-code-pic.jpg" style="position: absolute;"> | |||
</div> | |||
<a class="flip" href="https://openi.org.cn/projects/megengine/"></a> | |||
</div> | |||
<div class="eight wide mobile four wide tablet four wide computer column ipros"> | |||
<div class="ui card"> | |||
<div class="content ui grid"> | |||
<div class="header eight wide column" style=" border-right:2px solid #ffc000"> | |||
<div><span style="color: #5170ff;">OpenI</span> <b style="color:#FFF">天璇</b></div> | |||
</div> | |||
<div class="header eight wide column"> | |||
<div><span style="color: #5170ff;">OpenI</span> <b style="color:#FFF">天枢</b></div> | |||
</div> | |||
</div> | |||
<div class="am-mt-30 am-pt-30 am-pl-30"> | |||
<div class="am-pl-30 am-pb-30"> | |||
<h2 class="ui huge header am-bw">协作开发</h2> | |||
<p class="am-lh-18">鼓励通过创建合并请求(PR)的方式,更好的进行团队协作<br> | |||
代码评审让每一次的代码修改得以二次确认,提高代码质量<br> | |||
创建并指派任务(Issue),让每一个任务的进展有迹可循,规范管理<br> | |||
被合并的PR,可获得奖励积分;积分总额可以显示出你在项目中的贡献度,也许有一天会有人愿意为此付费<br> | |||
</p> | |||
</div> | |||
</div> | |||
<div class="leftline01"></div> | |||
</div> | |||
</div> | |||
<div class="eight wide column" style=" border-right:2px solid #ffc000; padding-top:0"> | |||
<div class="meta">AVS3 解码</div> | |||
</div> | |||
<div class="eight wide column" style="padding-top:0"> | |||
<div class="meta">AVS3 编码</div> | |||
</div> | |||
</div> | |||
<div class="extra content"> | |||
<div class="center floated author"> | |||
贡献者:北大深研院、鹏城实验室、深圳市超高清创新中心 | |||
</div> | |||
</div> | |||
</div> | |||
<a class="flip" href="http://openi.org.cn/projects/uavs3e/"></a> | |||
</div> | |||
<div class="eight wide mobile three wide tablet three wide computer column ipros"> | |||
<div class="ui card"> | |||
<div class="content"> | |||
<div class="header" style=" padding-top:0.8em;padding-bottom:0.5em"><span style="color: #5170ff;">OpenI</span> <b style="color:#FFF">海参</b></div> | |||
<div class="meta">基于深度学习的视频智能编码</div> | |||
</div> | |||
<div class="extra content"> | |||
<div class="center floated author"> | |||
贡献者:鹏城实验室、北大、武大、中科大、哈工大 | |||
</div> | |||
<a name="second"></a> | |||
<div class="ui basic tab active am-mt-30 bg-gray am-pt-30"> | |||
<div class="ui container i-data" style="position: relative;"> | |||
<div class="leftline02"></div> | |||
<div class="ui stackable grid"> | |||
<div class="nine wide column"> | |||
<img class="ui centered medium rounded large image" src="/img/gitopeni-index-02.svg"> | |||
<div class="i-code-pic" style="margin-top: -4.0rem;"> | |||
<img class="ui fluid rounded image am-shadow-2" src="/img/i-data-pic.jpg"> | |||
</div> | |||
</div> | |||
<a class="flip" href="https://openi.org.cn/projects/dlvc/"></a> | |||
</div> | |||
<div class="sixteen wide mobile two wide tablet two wide computer column"> | |||
<div class="ui card"> | |||
<div class="content"> | |||
<div class="header"><i class="ellipsis horizontal icon"></i></div> | |||
</div> | |||
<div class="seven wide column am-pt-30"> | |||
<h2 class="ui huge blue header">数据集管理</h2> | |||
<p class="am-lh-18"> | |||
数据是重要的生产要素,AI开发更是离不开数据;<br> | |||
- 数据与模型代码的协同,可在项目中上传关联的数据集;<br> | |||
- 数据存储免费,不限制文件大小;<br> | |||
- 数据可共享,标注清洗过的公开数据集,用户可设置为公有数据,供社区用户下载; | |||
</p> | |||
<div class="am-mt-30 am-pt-20"></div> | |||
<h2 class="ui huge header">使用数据集</h2> | |||
<p class="am-lh-18"> | |||
数据集可以直接用于训练或者推理任务中<br> | |||
创建任务时选择对应的数据集,启动任务执行环境(Docker)后,即可在Docker内访问到你的代码和数据,就像在你本地执行一样 | |||
</p> | |||
</div> | |||
<div class="flip flip-more"></div> | |||
</div> | |||
</div> | |||
<div class="ui divider" style="margin-top:2.0em; margin-bottom:2.0em;"></div> | |||
</div> | |||
<div class="ui six column grid prorow"> | |||
<div class="eight wide mobile four wide tablet four wide computer column ipros"> | |||
<div class="ui card"> | |||
<div class="image"> | |||
<img src="https://www.openi.org.cn/statics/openi/images/index/openi-octopus.png" alt="启智章鱼" style=" height:50px;"> | |||
</div> | |||
<div class="content"> | |||
<div class="meta">新一代智能资源管理系统</div> | |||
</div> | |||
<div class="extra content"> | |||
<div class="center floated author"> | |||
贡献者:鹏城实验室、北大 | |||
</div> | |||
</div> | |||
</div> | |||
<a class="flip flip-blue" href="http://openi.org.cn/projects/octopus/"></a> | |||
</div> | |||
<div class="eight wide mobile three wide tablet three wide computer column ipros"> | |||
<div class="ui card"> | |||
<div class="image"> | |||
<img src="https://www.openi.org.cn/statics/openi/images/index/openi-shanhu.png" alt="OpenI珊瑚" style=" height:50px;"> | |||
</div> | |||
<div class="content"> | |||
<div class="meta">异构资源调度项目</div> | |||
</div> | |||
<div class="extra content"> | |||
<div class="center floated author"> | |||
贡献者:华为 | |||
</div> | |||
</div> | |||
<a name="third"></a> | |||
<div class="ui basic tab active container am-mt-30 am-pt-30"> | |||
<h2 class="ui center aligned huge blue header am-pt-30"> | |||
AI流水线 | |||
<div class="sub header am-mt-10">提供集代码开发、数据管理、模型调试、推理和评测为一体的AI开发流水线</div> | |||
</h2> | |||
<div class="ui divider"></div> | |||
<div class="ui centered grid"> | |||
<div class="fourteen wide column"> | |||
<div class="ui two column grid"> | |||
<div class="column"> | |||
<div class="ui small header">调试任务:</div> | |||
<div class="ui bulleted list"> | |||
<div class="item">配置模型运行环境;</div> | |||
<div class="item">可在线编辑和调试模型代码,并将改动更新至代码仓库;</div> | |||
<div class="item">基于编辑好的脚本,开展模型评测任务;</div> | |||
</div> | |||
</div> | |||
<div class="column"> | |||
<div class="ui small header">作业任务:</div> | |||
<div class="ui bulleted list"> | |||
<div class="item">利用已配置好的模型运行环境;</div> | |||
<div class="item">基于编辑好的脚本,一键运行,开展模型训练或模型推理任务;</div> | |||
</div> | |||
</div> | |||
</div> | |||
</div> | |||
</div> | |||
<div class="ui divider"></div> | |||
<img class="ui centered image" src="/img/develop.svg"> | |||
</div> | |||
<a name="fourth"></a> | |||
<div class="ui basic tab active container am-mt-30 am-pt-30 i-env"> | |||
<h2 class="ui center aligned huge blue header am-pt-30"> | |||
协同开发环境 | |||
<div class="sub header am-mt-10">启智AI协作开发平台与传统git平台最大的不同就在于提供了面向AI开发的协同开发环境</div> | |||
</h2> | |||
<div class="ui four stackable cards am-mt-20"> | |||
<div class="card"> | |||
<div class="image"> | |||
<img src="/img/i-pic-01.svg"> | |||
</div> | |||
<a class="flip flip-blue" href="http://openi.org.cn/projects/coral/"></a> | |||
</div> | |||
<div class="five wide mobile three wide tablet three wide computer column ipros"> | |||
<div class="ui card"> | |||
<div class="image"> | |||
<img src="https://www.openi.org.cn/statics/openi/images/index/openi-trustie.png" alt="启智Trustie" style=" height:50px;"> | |||
</div> | |||
<div class="content"> | |||
<div class="meta">群体化协同创新环境</div> | |||
</div> | |||
<div class="extra content"> | |||
<div class="center floated author"> | |||
贡献者:国防科大、北航、北大… | |||
</div> | |||
<div class="content"> | |||
<a class="ui centered header">开发要素统一管理</a> | |||
<div class="description"> | |||
平台提供了AI开发四大要素:模型代码、数据集、模型和执行环境的统一管理 | |||
</div> | |||
</div> | |||
<a class="flip flip-green" href="http://openi.org.cn/projects/forge/"></a> | |||
</div> | |||
<div class="five wide mobile three wide tablet three wide computer column ipros"> | |||
<div class="ui card"> | |||
<div class="image"> | |||
<img src="https://www.openi.org.cn/statics/openi/images/index/huawei.png" alt="华为" style=" height:25px; margin-top:32px;"> | |||
</div> | |||
<div class="content"> | |||
<div class="meta">华为软开云</div> | |||
</div> | |||
<div class="card"> | |||
<div class="image"> | |||
<img src="/img/i-pic-02.svg"> | |||
</div> | |||
<a class="flip flip-green"></a> | |||
</div> | |||
<div class="six wide mobile three wide tablet three wide computer column ipros"> | |||
<div class="ui card"> | |||
<div class="image"> | |||
<img src="https://www.openi.org.cn/statics/openi/images/index/openi-zhongheng.png" alt="OpenI 纵横" style=" height:50px;"> | |||
</div> | |||
<div class="content"> | |||
<div class="meta">数据协同环境</div> | |||
</div> | |||
<div class="extra content"> | |||
<div class="center floated author"> | |||
贡献者:微众银行 | |||
</div> | |||
<div class="content"> | |||
<a class="ui centered header">数据协同与共享</a> | |||
<div class="description"> | |||
通过在项目中上传数据集,项目成员多人协作完成数据预处理;也可以通过将数据设置为公有数据集,与社区开发者共同建立更好的模型 | |||
</div> | |||
</div> | |||
<a class="flip flip-green" href="http://openi.org.cn/projects/zongheng/"></a> | |||
</div> | |||
</div> | |||
<div class="ui divider" style="margin-top:2.0em; margin-bottom:2.0em;"></div> | |||
<div class="ui six column grid prorow"> | |||
<div class="sixteen wide mobile six wide tablet six wide computer column ipros"> | |||
<div class="content ui grid"> | |||
<div class="header sixteen wide column"> | |||
<div class="ui centered card" style=" margin-top:0.5em; margin-bottom:0.5em;"> | |||
<div class="content"> | |||
<div class="header">鹏城云脑1、2</div> | |||
</div> | |||
</div> | |||
<a class="flip flip-green"></a> | |||
</div> | |||
<div class="header sixteen wide column"> | |||
<div class="ui centered card" style=" margin-top:0.5em; margin-bottom:0.5em;"> | |||
<div class="content"> | |||
<div class="header">北京、合肥、苏州…</div> | |||
</div> | |||
</div> | |||
<a class="flip flip-green"></a> | |||
</div> | |||
<div class="card"> | |||
<div class="image"> | |||
<img src="/img/i-pic-03.svg"> | |||
</div> | |||
</div> | |||
<div class="eight wide mobile two wide tablet four wide computer column ipros"> | |||
<div class="ui card"> | |||
<div class="content"> | |||
<div class="header" style=" padding-top:0.8em;padding-bottom:0.5em"><span style="color: #5170ff;">OpenI</span> <b style="color:#FFF">海藻</b></div> | |||
<div class="meta">可配置指令集和微架构的AI开源芯片</div> | |||
</div> | |||
<div class="extra content"> | |||
<div class="center floated author"> | |||
贡献者:北大、中科院、鹏城实验室 | |||
</div> | |||
<div class="content"> | |||
<a class="ui centered header">模型管理与共享</a> | |||
<div class="description"> | |||
将模型与代码版本建立关联,可以基于代码历史版本,使用不同的方式调整模型,并将结果保存下来;训练好的模型可以开放共享,让更多人的使用模型测试并提出反馈 | |||
</div> | |||
</div> | |||
<a class="flip flip-green" href="http://openi.org.cn/projects/varec/"></a> | |||
</div> | |||
<div class="eight wide mobile three wide tablet four wide computer column ipros"> | |||
<div class="ui card"> | |||
<div class="image"> | |||
<img src="https://www.openi.org.cn/statics/openi/images/index/huaweicloud.png" alt="华为云" style=" height:50px; margin-top:32px;"> | |||
</div> | |||
<div class="card"> | |||
<div class="image"> | |||
<img src="/img/i-pic-04.svg"> | |||
</div> | |||
<a class="flip flip-green"></a> | |||
</div> | |||
<div class="sixteen wide mobile two wide tablet two wide computer column"> | |||
<div class="ui card"> | |||
<div class="content"> | |||
<div class="header"><i class="ellipsis horizontal icon"></i></div> | |||
<div class="content"> | |||
<a class="ui centered header">一次配置,多次使用</a> | |||
<div class="description"> | |||
提供执行环境共享,一次配置,多次使用,降低模型开发门槛,避免花费重复的时间配置复杂的环境 | |||
</div> | |||
</div> | |||
<div class="flip flip-more"></div> | |||
</div> | |||
</div> | |||
</div> | |||
</div> | |||
<div class="ui stackable middle very relaxed page grid"> | |||
<div class="center column"> | |||
<h1 class="ui header section--header" style=" margin-top:1.0em">启智社区期待您的加入</h1> | |||
<p class="large" style="padding: 0 0 43px;"> | |||
OpenI社区旨在促进人工智能领域的开源开放协同创新,构建OpenI的技术链、创新链和生态链、推动人工智能产业健康快速发展及其在社会经济各领域的广泛应用。围绕重大产业创新,汇聚创新资源,促进众创共享,形成产业生态的目标,让"一体两翼"构想下的以技术专家为主体组成的多个工作组(标准工作组、知识产权工作组、投融资工作组、开源治理工作组等)、和以企业为主体的多个应用推进组(智能交通推进组、智能医疗推进组、智能金融推进组、智能教育推进组等)作为一个整体进行工作。以"完全开源、完全开放、完全免费、尊重创新"为准则,汇聚学术机构、商业实体、自然人或任何其他法人,共建共享开源软件、开源硬件和开源数据的超级社区;以众智、赛智、创智、有智等工作方法,努力建设成具有国际影响力的人工智能开源开放平台。 | |||
</p> | |||
<a class="ui blue button" href="mailto:secretariat@openi.org.cn?subject=申请贡献项目到OpenI&&body=贡献者自我介绍%3A%0D%0A申请理由%3A%0D%0A 项目地址%3A%0D%0A 联系方式%3A">申请贡献项目到OpenI</a> | |||
<a class="ui blue button" href="https://www.openi.org.cn/html/Club/2019/0228/17.html" style="padding-left:5.0rem;padding-right:5.0rem;">加入OpenI社区 <i class="arrow right icon"></i></a> | |||
<div style="margin-top:80px;"> | |||
<img src="https://www.openi.org.cn/statics/openi/images/index/mem-logos.png" alt="OpenI前期参与成员" style="width:100%; max-width:1200px;"> | |||
<a name="fifth"></a> | |||
<div class="ui basic tab active container am-mt-30 am-pt-30"> | |||
<div class="ui very padded black inverted segment radius15"> | |||
<div class="ui stackable grid"> | |||
<div class="six wide column"> | |||
<img class="ui centered large image" src="/img/i-yunnao.svg"> | |||
</div> | |||
<div class="ten wide column am-pt-30"> | |||
<h2 class="ui huge blue header">鹏城云脑开源协同</h2> | |||
<p class="am-lh-18"> | |||
平台已经与鹏城云脑打通,可以利用鹏城云脑的丰富算力资源,完成AI开发任务<br> | |||
鹏城云脑现有AI算力100P FLOPS@FP16(每秒十亿亿次半精度浮点计算),主要硬件基础设施由搭载英伟达Tesla V100 的GPU服务器和搭载鲲鹏、昇腾处理器的Atlas 900 AI集群构成<br> | |||
开发者可以根据使用需求,自由选择相应计算资源,可以测试模型在不同硬件环境下的适配能力、性能、稳定性等<br> | |||
如果您的模型需要更多的计算资源,也可以单独申请<br> | |||
</p> | |||
<a class="ui blue basic button am-mt-20" href="{{AppSubUrl}}/user/sign_up">马上使用</a> <a class="ui grey basic button am-mt-20" href="mailto:aiforge@openi.org.cn">单独申请</a> | |||
</div> | |||
</div> | |||
</div> | |||
</div> | |||
</div> | |||
<div class="am-mt-30"></div> | |||
</div><!-- end railContent --> | |||
</div><!-- end explore --> | |||
<script> | |||
$('.menu .item') | |||
.tab(); | |||
$('.ui.sticky') | |||
.sticky({ | |||
context: '#railContent', | |||
observeChanges: true, | |||
}) | |||
.sticky('refresh'); | |||
</script> | |||
</div> | |||
{{template "base/footer" .}} |
@@ -1,14 +1,16 @@ | |||
<div class="tablet only mobile only sixteen wide mobile sixteen wide tablet column row"> | |||
<div class="ui secondary pointing tabular top attached borderless menu navbar"> | |||
<a class="{{if $.PageIsOrgHome}}active{{end}} item" href="{{.HomeLink}}"> | |||
{{svg "octicon-home" 16}} {{$.i18n.Tr "org.组织主页"}} | |||
</a> | |||
<a class="{{if $.PageIsOrgMembers}}active{{end}} item" href="{{$.OrgLink}}/members"> | |||
{{svg "octicon-organization" 16}} {{$.i18n.Tr "org.people"}} | |||
</a> | |||
<a class="{{if $.PageIsOrgTeams}}active{{end}} item" href="{{$.OrgLink}}/teams"> | |||
{{svg "octicon-jersey" 16}} {{$.i18n.Tr "org.teams"}} | |||
{{svg "octicon-home" 16}} {{$.i18n.Tr "org.home"}} | |||
</a> | |||
{{if or ($.IsOrganizationMember) ($.IsOrganizationOwner)}} | |||
<a class="{{if $.PageIsOrgMembers}}active{{end}} item" href="{{$.OrgLink}}/members"> | |||
{{svg "octicon-organization" 16}} {{$.i18n.Tr "org.people"}} | |||
</a> | |||
<a class="{{if $.PageIsOrgTeams}}active{{end}} item" href="{{$.OrgLink}}/teams"> | |||
{{svg "octicon-jersey" 16}} {{$.i18n.Tr "org.teams"}} | |||
</a> | |||
{{end}} | |||
</div> | |||
</div> | |||
<!--平板、移动端--> | |||
@@ -18,15 +20,17 @@ | |||
<div class="sixteen wide column ui secondary sticky pointing tabular vertical menu"> | |||
{{with .Org}} | |||
<a class="{{if $.PageIsOrgHome}}active{{end}} item" href="{{.HomeLink}}"> | |||
{{svg "octicon-home" 16}} {{$.i18n.Tr "org.主页"}} | |||
{{svg "octicon-home" 16}} {{$.i18n.Tr "org.home"}} | |||
</a> | |||
{{end}} | |||
<a class="{{if $.PageIsOrgMembers}}active{{end}} item" href="{{$.OrgLink}}/members"> | |||
{{svg "octicon-organization" 16}} {{$.i18n.Tr "org.people"}} | |||
</a> | |||
<a class="{{if $.PageIsOrgTeams}}active{{end}} item" href="{{$.OrgLink}}/teams"> | |||
{{svg "octicon-jersey" 16}} {{$.i18n.Tr "org.teams"}} | |||
</a> | |||
{{if or ($.IsOrganizationMember) ($.IsOrganizationOwner)}} | |||
<a class="{{if $.PageIsOrgMembers}}active{{end}} item" href="{{$.OrgLink}}/members"> | |||
{{svg "octicon-organization" 16}} {{$.i18n.Tr "org.people"}} | |||
</a> | |||
<a class="{{if $.PageIsOrgTeams}}active{{end}} item" href="{{$.OrgLink}}/teams"> | |||
{{svg "octicon-jersey" 16}} {{$.i18n.Tr "org.teams"}} | |||
</a> | |||
{{end}} | |||
</div> | |||
</div> | |||
</div> |
@@ -31,13 +31,13 @@ | |||
{{end}} | |||
</div> | |||
</div> | |||
<span class="help">Some organizations may not show up in the dropdown due to a maximum repository count limit</span> | |||
<span class="help">{{.i18n.Tr "repo.repo_owner_helper"}}</span> | |||
</div> | |||
<div class="inline required field {{if .Err_RepoName}}error{{end}}"> | |||
<label for="repo_name">{{.i18n.Tr "repo.repo_name"}}</label> | |||
<input id="repo_name" name="repo_name" value="{{.repo_name}}" autofocus required> | |||
<span class="help">{{.i18n.Tr "repo.repo_name_helper"}}</span> | |||
<span class="help"></span> | |||
</div> | |||
<div class="inline field"> | |||
<label>{{.i18n.Tr "repo.visibility"}}</label> | |||
@@ -1,13 +1,40 @@ | |||
{{template "base/head" .}} | |||
<style> | |||
.repository.file.list #repo-desc { | |||
font-size: 1.0em; | |||
margin-bottom: 1.0rem; | |||
} | |||
</style> | |||
<div class="repository file list"> | |||
{{template "repo/header" .}} | |||
<div class="ui container"> | |||
{{template "base/alert" .}} | |||
<div class="ui repo-description stackable grid"> | |||
<div id="repo-desc" class="ui twelve wide column"> | |||
{{if .Repository.DescriptionHTML}}<span class="description">{{.Repository.DescriptionHTML}}</span>{{else if .IsRepositoryAdmin}}<span class="no-description text-italic">{{.i18n.Tr "repo.no_desc"}}</span>{{end}} | |||
<a class="link" href="{{.Repository.Website}}">{{.Repository.Website}}</a> | |||
{{if and .Permission.IsAdmin (not .Repository.IsArchived)}} | |||
<div class="ui repo-topic-edit grid form segment error" id="topic_edit" style="display:none"> | |||
<div class="fourteen wide column"> | |||
<div class="field"> | |||
<div class="ui fluid multiple search selection dropdown"> | |||
<input type="hidden" name="topics" value="{{range $i, $v := .Topics}}{{.Name}}{{if lt (Add $i 1) (len $.Topics)}},{{end}}{{end}}"> | |||
{{range .Topics}} | |||
<div class="ui small label topic transition visible" data-value="{{.Name}}" style="display: inline-block !important; cursor: default;">{{.Name}}<i class="delete icon"></i></div> | |||
{{end}} | |||
<div class="text"></div> | |||
</div> | |||
</div> | |||
</div> | |||
<div class="two wide column"> | |||
<a class="ui button primary" href="javascript:;" id="save_topic" | |||
data-link="{{.RepoLink}}/topics">{{.i18n.Tr "repo.topic.done"}}</a> | |||
</div> | |||
</div> | |||
{{end}} | |||
<div class="hide" id="validate_prompt"> | |||
<span id="count_prompt">{{.i18n.Tr "repo.topic.count_prompt"}}</span> | |||
<span id="format_prompt">{{.i18n.Tr "repo.topic.format_prompt"}}</span> | |||
</div> | |||
<div class="ui repo-description stackable grid"> | |||
{{if .RepoSearchEnabled}} | |||
<div class="ui repo-search four wide column"> | |||
<form class="ui form ignore-dirty" action="{{.RepoLink}}/search" method="get"> | |||
@@ -23,33 +50,7 @@ | |||
</div> | |||
{{end}} | |||
</div> | |||
<div class="ui" id="repo-topics"> | |||
{{range .Topics}}<a class="ui repo-topic small label topic" href="{{AppSubUrl}}/explore/repos?q={{.Name}}&topic=1">{{.Name}}</a>{{end}} | |||
{{if and .Permission.IsAdmin (not .Repository.IsArchived)}}<a id="manage_topic">{{.i18n.Tr "repo.topic.manage_topics"}}</a>{{end}} | |||
</div> | |||
{{if and .Permission.IsAdmin (not .Repository.IsArchived)}} | |||
<div class="ui repo-topic-edit grid form segment error" id="topic_edit" style="display:none"> | |||
<div class="fourteen wide column"> | |||
<div class="field"> | |||
<div class="ui fluid multiple search selection dropdown"> | |||
<input type="hidden" name="topics" value="{{range $i, $v := .Topics}}{{.Name}}{{if lt (Add $i 1) (len $.Topics)}},{{end}}{{end}}"> | |||
{{range .Topics}} | |||
<div class="ui small label topic transition visible" data-value="{{.Name}}" style="display: inline-block !important; cursor: default;">{{.Name}}<i class="delete icon"></i></div> | |||
{{end}} | |||
<div class="text"></div> | |||
</div> | |||
</div> | |||
</div> | |||
<div class="two wide column"> | |||
<a class="ui button primary" href="javascript:;" id="save_topic" | |||
data-link="{{.RepoLink}}/topics">{{.i18n.Tr "repo.topic.done"}}</a> | |||
</div> | |||
</div> | |||
{{end}} | |||
<div class="hide" id="validate_prompt"> | |||
<span id="count_prompt">{{.i18n.Tr "repo.topic.count_prompt"}}</span> | |||
<span id="format_prompt">{{.i18n.Tr "repo.topic.format_prompt"}}</span> | |||
</div> | |||
{{if .Repository.IsArchived}} | |||
<div class="ui warning message"> | |||
{{.i18n.Tr "repo.archive.title"}} | |||
@@ -141,13 +142,77 @@ | |||
{{end}} | |||
</div> | |||
</div> | |||
{{if .IsViewFile}} | |||
{{template "repo/view_file" .}} | |||
{{else if .IsBlame}} | |||
{{template "repo/blame" .}} | |||
{{else}} | |||
{{template "repo/view_list" .}} | |||
{{end}} | |||
<div class="ui container"> | |||
<div class="ui mobile reversed stackable grid"> | |||
<div class="ui ten wide tablet twelve wide computer column"> | |||
{{if .IsViewFile}} | |||
{{template "repo/view_file" .}} | |||
{{else if .IsBlame}} | |||
{{template "repo/blame" .}} | |||
{{else}} | |||
{{template "repo/view_list" .}} | |||
{{end}} | |||
</div> | |||
<div class="ui six wide tablet four wide computer column"> | |||
<div id="repo-desc"> | |||
<h4 class="ui header">简介</h4> | |||
<p> | |||
{{if .Repository.DescriptionHTML}} | |||
<span class="description">{{.Repository.DescriptionHTML}}</span> | |||
{{else}} | |||
<span class="no-description text-italic">{{.i18n.Tr "repo.no_desc"}}</span> | |||
{{end}} | |||
<a class="link" href="{{.Repository.Website}}">{{.Repository.Website}}</a> | |||
</p> | |||
</div> | |||
<p class="ui" id="repo-topics"> | |||
<i class="grey bookmark icon"></i> | |||
{{range .Topics}}<a class="ui repo-topic small label topic" href="{{AppSubUrl}}/explore/repos?q={{.Name}}&topic=1">{{.Name}}</a>{{end}} | |||
{{if and .Permission.IsAdmin (not .Repository.IsArchived)}}<a id="manage_topic">{{.i18n.Tr "repo.topic.manage_topics"}}</a>{{end}} | |||
</p> | |||
<p class="ui"> | |||
<i class="grey code icon"></i> | |||
{{range .LanguageStats}} | |||
{{.Language}} | |||
{{end}} | |||
</p> | |||
<p class="ui"> | |||
<i class="grey clone icon"></i> | |||
{{if .LICENSE}} | |||
{{.LICENSE}} | |||
{{end}} | |||
</p> | |||
<div class="ui divider"></div> | |||
<div> | |||
<h4 class="ui header"> | |||
<strong>贡献者 ({{len .ContributorInfo}})</strong> | |||
<div class="ui right"> | |||
<a class="text grey" href="">全部 {{svg "octicon-chevron-right" 16}}</a> | |||
</div> | |||
</h4> | |||
<div class="ui members"> | |||
{{range .ContributorInfo}} | |||
{{/*<img class="ui avatar image" src="{{.UserInfo.RelAvatarLink}}" alt=""/> <a href="{{AppSubUrl}}/{{.UserInfo.Name}}">{{.UserInfo.Name}}</a>*/}} | |||
{{if .UserInfo}} | |||
<a href="{{AppSubUrl}}/{{.UserInfo.Name}}"><img class="ui avatar image" src="{{.UserInfo.RelAvatarLink}}" alt=""/></a> | |||
{{else if .Email}} | |||
<a href="mailto:{{.Email}}"><img class="ui avatar image" src="{{AvatarLink .Email}}" alt=""/></a> | |||
{{end}} | |||
{{end}} | |||
</div> | |||
</div> | |||
</div> | |||
</div> | |||
</div> | |||
</div> | |||
</div> | |||
{{template "base/footer" .}} |
@@ -1,12 +1,13 @@ | |||
{{template "base/head" .}} | |||
{{if .IsRepo}}<div class="repository">{{template "repo/header" .}}</div>{{end}} | |||
<div class="ui container center" style="background:url({{StaticUrlPrefix}}/img/404.png) no-repeat center center fixed;margin-bottom:-80px;height: 100%;width:100%;overflow: hidden;background-size: cover;margin:0!important"> | |||
<div style="height:100%;color:white"> | |||
<div style="padding-top: 50vh"> | |||
<div class="ui divider"></div> | |||
<br> | |||
<p>{{.i18n.Tr "error404" | Safe}} | |||
{{if .ShowFooterVersion}}<p>{{.i18n.Tr "admin.config.app_ver"}}: {{AppVer}}</p>{{end}} | |||
</div> | |||
<div class="ui container center" style="min-height: 70%;"> | |||
<div class="ui basic very padded segment"> | |||
<img class="ui centered medium image" src="{{StaticUrlPrefix}}/img/icon-403@2x.png"> | |||
<h2>您的访问受限!</h2> | |||
<p>{{.i18n.Tr "error404" | Safe}}</p> | |||
</div> | |||
</div> | |||
{{template "base/footer" .}} |
@@ -1,16 +1,13 @@ | |||
{{template "base/head" .}} | |||
{{if .IsRepo}}<div class="repository">{{template "repo/header" .}}</div>{{end}} | |||
<div class="ui container center" style="background:url({{StaticUrlPrefix}}/img/500.png) no-repeat center center fixed;margin-bottom:-80px;height: 100%;width:100%;overflow: hidden;background-size: cover;margin:0!important"> | |||
<div style="height:100%;color:white"> | |||
<h1 style="padding-top: 100px;font-size: 180px;color: white;text-align: center;text-shadow: 1px 20px 2px #666; | |||
letter-spacing: 20px;"> | |||
500 | |||
</h1> | |||
<div style="padding-bottom: 80px"> | |||
<div class="ui divider"></div> | |||
<br> | |||
<p>{{.i18n.Tr "error404" | Safe}} | |||
{{if .ShowFooterVersion}}<p>{{.i18n.Tr "admin.config.app_ver"}}: {{AppVer}}</p>{{end}} | |||
</div> | |||
<div class="ui container center" style="min-height: 70%;"> | |||
<div class="ui basic very padded segment"> | |||
<img class="ui centered medium image" src="{{StaticUrlPrefix}}/img/icon-500@2x.png"> | |||
<h2>抱歉!您指定的网页无法访问。</h2> | |||
<p>{{.i18n.Tr "error404" | Safe}}</p> | |||
</div> | |||
</div> | |||
{{template "base/footer" .}} |
@@ -298,7 +298,7 @@ export default { | |||
File.prototype.slice || | |||
File.prototype.mozSlice || | |||
File.prototype.webkitSlice, | |||
chunkSize = 1024 * 1024 * 64, | |||
chunkSize = 1024 * 1024 * 32, | |||
chunks = Math.ceil(file.size / chunkSize), | |||
fileReader = new FileReader(), | |||
time = new Date().getTime(); | |||
@@ -291,7 +291,7 @@ code, | |||
} | |||
#navbar { | |||
width: 100vw; | |||
/*width: 100vw;*/ | |||
min-height: 52px; | |||
padding: 0 .5rem; | |||
} | |||
@@ -773,7 +773,7 @@ footer { | |||
color: #888888; | |||
.container { | |||
width: 100vw !important; | |||
/*width: 100vw !important;*/ | |||
padding: 0 .5rem; | |||
max-width: calc(100vw - 1rem) !important; | |||
@@ -177,7 +177,7 @@ | |||
} | |||
.ui.header { | |||
font-size: 1.5rem; | |||
font-size: 1.3rem; | |||
padding-bottom: 10px; | |||
.name { | |||
@@ -2443,6 +2443,8 @@ | |||
.page.buttons { | |||
padding-top: 15px; | |||
padding-bottom: 15px; | |||
margin-bottom: 15px; | |||
} | |||
.ui.form { | |||
@@ -1,3 +1,6 @@ | |||
a { | |||
color: #0366d6; | |||
} | |||
.ui .text.yellow a { | |||
color: #fbbd08!important | |||
} | |||
@@ -12,17 +15,19 @@ | |||
} | |||
.following.bar #navbar .brand{ | |||
padding-left: 0; | |||
padding-top: 0; | |||
padding-bottom: 0; | |||
} | |||
.following.bar .brand .ui.mini.image { | |||
width: auto; | |||
height: 30px; | |||
height: 40px; | |||
} | |||
.following.bar.dark { | |||
background-color: #001F4A; | |||
background-color: #363840; | |||
} | |||
.ui.secondary.menu.dark .item{ | |||
color: #E5FAFF; | |||
color: #FFF; | |||
} | |||
.ui.secondary.menu.dark .item:hover{ | |||
color: #40A9FF; | |||
@@ -67,11 +72,8 @@ footer { | |||
} | |||
/*PC*/ | |||
@media only screen and (min-width: 1200px){ | |||
.following.bar #navbar{ | |||
min-height: 80px; | |||
} | |||
.following.bar #navbar, footer .container { | |||
padding: 0 32px; | |||
padding: 0; | |||
} | |||
} | |||