From 6a3333510d4aed9130cce629149df1273a56a02e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B0=A2=E6=80=9D?= <2897217417@qq.com> Date: Wed, 6 Nov 2024 14:22:34 +0800 Subject: [PATCH 1/6] =?UTF-8?q?uos=E4=B8=93=E5=8C=BA=E9=A6=96=E9=A1=B5?= =?UTF-8?q?=E4=BC=98=E5=8C=96=20fix=20#123152?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/forge/Information/Pages/JCC/homePage.jsx | 2 +- src/forge/Information/Pages/headerPage.jsx | 4 +- .../Information/Pages/headerPagebyCCF.jsx | 2 +- .../Pages/homepage/component/introduction.jsx | 11 +++- .../Pages/homepage/component/news.jsx | 8 ++- .../Pages/homepage/component/project.jsx | 53 ++++++++++++++---- .../homepage/component/specialProjects.jsx | 22 ++------ .../Information/Pages/homepage/image/left.png | Bin 0 -> 2379 bytes .../Pages/homepage/image/proType4.png | Bin 0 -> 1542 bytes .../Pages/homepage/image/proType4_active.png | Bin 0 -> 3435 bytes .../Pages/homepage/image/proType5.png | Bin 0 -> 922 bytes .../Pages/homepage/image/proType5_active.png | Bin 0 -> 1704 bytes .../Pages/homepage/image/right.png | Bin 0 -> 2384 bytes .../Information/Pages/homepage/index.scss | 47 ++++++++++++++-- 14 files changed, 109 insertions(+), 40 deletions(-) create mode 100644 src/forge/Information/Pages/homepage/image/left.png create mode 100644 src/forge/Information/Pages/homepage/image/proType4.png create mode 100644 src/forge/Information/Pages/homepage/image/proType4_active.png create mode 100644 src/forge/Information/Pages/homepage/image/proType5.png create mode 100644 src/forge/Information/Pages/homepage/image/proType5_active.png create mode 100644 src/forge/Information/Pages/homepage/image/right.png diff --git a/src/forge/Information/Pages/JCC/homePage.jsx b/src/forge/Information/Pages/JCC/homePage.jsx index 999876ee7..8faf02091 100644 --- a/src/forge/Information/Pages/JCC/homePage.jsx +++ b/src/forge/Information/Pages/JCC/homePage.jsx @@ -141,7 +141,7 @@ function HeaderPageJCC(props){ { data.introductionImage && - + } } diff --git a/src/forge/Information/Pages/headerPage.jsx b/src/forge/Information/Pages/headerPage.jsx index cc21f1535..654fa1dc7 100644 --- a/src/forge/Information/Pages/headerPage.jsx +++ b/src/forge/Information/Pages/headerPage.jsx @@ -79,8 +79,8 @@ function HeaderPage(props){

{ - data.introductionImage && - + data.introductionImage && + } } diff --git a/src/forge/Information/Pages/headerPagebyCCF.jsx b/src/forge/Information/Pages/headerPagebyCCF.jsx index d73326d70..6aec57866 100644 --- a/src/forge/Information/Pages/headerPagebyCCF.jsx +++ b/src/forge/Information/Pages/headerPagebyCCF.jsx @@ -237,7 +237,7 @@ function HeaderPageCCF(props) { { data.introductionImage && - + } } diff --git a/src/forge/Information/Pages/homepage/component/introduction.jsx b/src/forge/Information/Pages/homepage/component/introduction.jsx index ff6aacb97..d41150424 100644 --- a/src/forge/Information/Pages/homepage/component/introduction.jsx +++ b/src/forge/Information/Pages/homepage/component/introduction.jsx @@ -1,6 +1,7 @@ import React , { useEffect, useState } from 'react'; import { getZoneStatistics } from '../../../api'; import '../index.scss'; +import { Carousel } from 'antd'; // 专区简介,文字在左,图在右 // statistics: 是否展示统计区域 @@ -28,9 +29,13 @@ function Introduction({data, statistics=true}) { {firstTitle} ABOUT US -
- {introductionImage && } - {introductionContent && } +
+ {introductionImage && + {introductionImage.split(",").map((item, index) => { + return ; + })} + } + {introductionContent && }
{statistics &&
{Object.keys(label).map(item=>{ diff --git a/src/forge/Information/Pages/homepage/component/news.jsx b/src/forge/Information/Pages/homepage/component/news.jsx index 065868d5d..83da8459e 100644 --- a/src/forge/Information/Pages/homepage/component/news.jsx +++ b/src/forge/Information/Pages/homepage/component/news.jsx @@ -131,7 +131,7 @@ function News({data, subTitle, firstDirIntro, secondDirIntro}) { {/* 第一个顺序栏目 */} {firstDir &&

- {firstDir.name} + {window.scrollTo(0,450)}}>{firstDir.name} {window.scrollTo(0,450)}}>更多

{firstDirIntro}
@@ -147,7 +147,9 @@ function News({data, subTitle, firstDirIntro, secondDirIntro}) {
-

{secondDir.name}

+

+ {window.scrollTo(0,450)}}>{secondDir.name} +

{secondDirIntro}

@@ -164,7 +166,7 @@ function News({data, subTitle, firstDirIntro, secondDirIntro}) {
} - {dirs && !!dirs.length &&
+ {dirs && !!dirs.length &&
{renderItems()}
}
diff --git a/src/forge/Information/Pages/homepage/component/project.jsx b/src/forge/Information/Pages/homepage/component/project.jsx index 5ce2c275e..e3b6cf8c1 100644 --- a/src/forge/Information/Pages/homepage/component/project.jsx +++ b/src/forge/Information/Pages/homepage/component/project.jsx @@ -3,6 +3,43 @@ import '../index.scss'; import { getProjectListByScore, getProjectsTypeLists } from '../../../api'; import { Carousel, Divider, Spin } from 'antd'; import Nodata from '../../../../Nodata'; +import Slider from 'react-slick'; + +export function TypeCarousel({pageSize=4, list=[], typeId, onClick}) { + const setting = { + prevArrow: , + nextArrow: , + afterChange: (currentSlide)=>{onClick(list[currentSlide*pageSize].id)} + } + const pages = [] + for (let i = 0; i < Math.ceil(list.length / pageSize); i++) { + const start = i * pageSize; + const end = start + pageSize; + pages.push(list.slice(start, end)); + } + return + {pages.map((page, index)=>{ + return
+
+ {page.map((item, i) => { + const order = index*pageSize+i + return
{ onClick(item.id) }}> + {/* 项目 */} + + {/* 专项项目 */} + + {order < 9 ? `0${order+1}` : order+1} + + + + {item.name} +
+ })} +
+
+ })} +
+} function Project({ data, subTitle }) { const { id, homepageProjectTitle } = data || {}; @@ -15,7 +52,10 @@ function Project({ data, subTitle }) { const pages = []; useEffect(() => { - id && getProjectsTypeLists(id).then(result => { + id && getProjectsTypeLists(id, { + pageNum: 1, + pageSize: 100, + }).then(result => { if (result) { const rows = result.data.rows; rows[0] && setTypeId(rows[0].id) @@ -52,19 +92,12 @@ function Project({ data, subTitle }) {

{homepageProjectTitle}

{subTitle}

-
- {typeList.slice(0, 3).map((item, index) => { - return
{ setTypeId(item.id); setPage(1) }}> - - {item.name} -
- })} -
+ {setTypeId(id); setPage(1)}}/> {setLoading(true);setPage(current+1)}}> {pages.map((page1, index) => (
-
+
{lists.map((i, index) => { const { extra: { commitCount, contributorsCount, lastWeekScore, scoreChange } } = i || {} const order = page >= 2 ? (page-1)*6+index+1 : index+1; diff --git a/src/forge/Information/Pages/homepage/component/specialProjects.jsx b/src/forge/Information/Pages/homepage/component/specialProjects.jsx index 3947f4132..f3a491954 100644 --- a/src/forge/Information/Pages/homepage/component/specialProjects.jsx +++ b/src/forge/Information/Pages/homepage/component/specialProjects.jsx @@ -3,6 +3,7 @@ import { getSpecialProjectDetail, getSpecialProjectList, getSpecialProjectTypeLi import { Col, Divider, Row, Tag } from 'antd'; import Nodata from '../../../../Nodata'; import '../index.scss'; +import { TypeCarousel } from './project'; function SpecialProjects({data, subTitle}) { const {key, homepageSpecialProjectTitle, id} = data || {}; @@ -15,7 +16,7 @@ function SpecialProjects({data, subTitle}) { useEffect(()=>{ id && getSpecialProjectTypeList(id, { pageNum: 1, - pageSize: 4, + pageSize: 100, }).then(res=>{ if(res){ const rows = res.data.rows; @@ -120,13 +121,13 @@ function SpecialProjects({data, subTitle}) { currentRow.push(
handleItemClick(item.id)} > {index+1}
{item.name}
-
摘要:{item.description}
-

{item.projectLeader}

+
摘要:{item.description}
+

{item.projectLeader}

); @@ -171,18 +172,7 @@ function SpecialProjects({data, subTitle}) {

{homepageSpecialProjectTitle}

{subTitle}

-
- {typeList.map((item, index)=>{ - return
{setTypeId(item.id)}}> - - {index < 9 ? `0${index+1}` : index+1} - - - - {item.name} -
- })} -
+ {setTypeId(id);}}/>
{renderItems()}
{!projectList.length && }
diff --git a/src/forge/Information/Pages/homepage/image/left.png b/src/forge/Information/Pages/homepage/image/left.png new file mode 100644 index 0000000000000000000000000000000000000000..b41f9df80d1697370b6c0665bccdb9f38fda73b2 GIT binary patch literal 2379 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 literal 0 HcmV?d00001 diff --git a/src/forge/Information/Pages/homepage/image/proType4.png b/src/forge/Information/Pages/homepage/image/proType4.png new file mode 100644 index 0000000000000000000000000000000000000000..c2002889fb11c6251c6993bcc9ed96fce9156afc GIT binary patch literal 1542 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 literal 0 HcmV?d00001 diff --git a/src/forge/Information/Pages/homepage/image/proType5_active.png b/src/forge/Information/Pages/homepage/image/proType5_active.png new file mode 100644 index 0000000000000000000000000000000000000000..2e291efe03957757eeb21909cc908449c99a8fd5 GIT binary patch literal 1704 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 literal 0 HcmV?d00001 diff --git a/src/forge/Information/Pages/homepage/index.scss b/src/forge/Information/Pages/homepage/index.scss index db0855268..84235dd24 100644 --- a/src/forge/Information/Pages/homepage/index.scss +++ b/src/forge/Information/Pages/homepage/index.scss @@ -65,6 +65,20 @@ color: #D9D9D9; } } + .intro_1_carousel{ + width: 526px; + float: right; + margin-left: 35px; + .slick-dots li button:before{ + font-size: 10px; + top: -12px; + } + } + .intro_image{ + width: 526px; + height: 272px; + object-fit: scale-down; + } } .news_1_bg{ background-image: url('./image/new1.png'); @@ -186,7 +200,7 @@ } } .project_1_bg .proTypeBox, .specialProjects_1_bg .proTypeBox{ - width: 280px; + min-width: 275px; height: 63px; background: #F5F6F7; border-radius: 8px; @@ -207,6 +221,12 @@ .icon2{ background-image: url('./image/proType3_active.png'); } + .icon3{ + background-image: url('./image/proType4_active.png'); + } + .icon4{ + background-image: url('./image/proType5_active.png'); + } .s_p_order_1, .s_p_order>img{ display: none; } @@ -225,7 +245,7 @@ background-image: url('./image/s_project7.png'); } } - .icon1, .s_p_order_icon, .icon0, .icon2{ + .s_p_order_icon, .p_1_icon{ width: 22px; height: 22px; background-size: 100% 100%; @@ -239,12 +259,30 @@ background-image: url('./image/proType2.png'); } .icon2{ - width: 25px; - height: 19px; + height: 18px; background-image: url('./image/proType3.png'); } + .icon3{ + width: 24px; + height: 24px; + background-image: url('./image/proType4.png'); + } + .icon4{ + background-image: url('./image/proType5.png'); + } } +.project_1_bg .proTypeBox{ + min-width:200px; + .s_p_order{ + display: none; + } +} +.specialProjects_1_bg .proTypeBox{ + .p_1_icon{ + display: none; + } +} .source_1_bg{ background-color: white; background-image: url('./image/source1.png'); @@ -350,6 +388,7 @@ margin: 0 0 35px 0 !important; } .s_p_detail{ + flex-direction: column; flex: 0 0 calc(33.333% - 20px); background: #FFFFFF; box-shadow: 0px 0px 10px 1px rgba(28,48,175,0.08); From 718d3da8c989c335194c765fcead12ebd90aa5a6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=BB=84=E5=BF=83=E5=AE=87?= Date: Wed, 6 Nov 2024 15:58:37 +0800 Subject: [PATCH 2/6] =?UTF-8?q?=E5=BC=80=E6=BA=90=E5=81=A5=E5=BA=B7?= =?UTF-8?q?=E6=88=90=E7=86=9F=E5=BA=A6=E8=AF=84=E5=88=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 1 + src/forge/Component/projectCompass.jsx | 229 +++++++++++++++++++++++++ src/forge/Main/CoderDepot.jsx | 2 + src/forge/api/project.js | 10 ++ 4 files changed, 242 insertions(+) create mode 100644 src/forge/Component/projectCompass.jsx create mode 100644 src/forge/api/project.js diff --git a/package.json b/package.json index f0c3872de..92e78eb7a 100644 --- a/package.json +++ b/package.json @@ -48,6 +48,7 @@ "dotenv": "4.0.0", "dotenv-expand": "4.2.0", "echarts": "^4.9.0", + "echarts-gl": "^1.1.2", "echarts-wordcloud": "^2.0.0", "editor.md": "^1.5.0", "express": "^4.18.2", diff --git a/src/forge/Component/projectCompass.jsx b/src/forge/Component/projectCompass.jsx new file mode 100644 index 000000000..f6837632e --- /dev/null +++ b/src/forge/Component/projectCompass.jsx @@ -0,0 +1,229 @@ +import React ,{ Fragment, useEffect, useState } from 'react'; +import echarts from 'echarts/lib/echarts' +import 'echarts-gl'; +import { getmaturityAnalyse } from '../api/project' +import { Icon, Popover } from 'antd'; + +function Compass({owner,projectsId}) { + const [mainScore, setMainScore] = useState({}) + + useEffect(()=>{ + getmaturityAnalyse({ owner, repository: projectsId }).then(res => { + if (res.data && res.data.main_score && res.data.main_score.score > 0) { + setMainScore(res.data.main_score) + Init(res.data) + } + }) + },[]) + + function Init(data) { + let huan_val = document.getElementById("compass"); + let myEcharts = echarts.init(huan_val); + + const a = 3; + const n = 3; + const o = false; + + const l = o ? "white" : "#333" + , r = o ? "rgba(255,255,255,0.8)" : "#aaa"; + + let option = { + tooltip: { + textStyle: { + fontWeight: "bolder" + }, + formatter: e => "mock" === e.data.validity ? e.name + ": \u5373\u5c06\u4e0a\u7ebf" : e.data.description + ": " + e.data.value[2] + }, + xAxis3D: { + name: " ", + type: "category", + data: data.main_score.x_axis, + interval: 2, + axisLine: { + lineStyle: { + width: 1, + color: l + } + }, + splitLine: { + show: !0, + interval: a - 1 + }, + axisLabel: { + interval: a - 1, + textStyle: { + color: r, + padding: [10, 10, 0, 0] + } + }, + axisTick: { + interval: a - 1, + length: 1 + } + }, + yAxis3D: { + name: " ", + type: "category", + data: data.main_score.y_axis, + axisLine: { + lineStyle: { + width: 1, + color: l + } + }, + axisTick: { + interval: n - 1, + length: 0 + }, + splitArea: { + show: !0, + areaStyle: { + color: ["rgba(255,247,207,0.5)", "rgba(255,231,231,0.5)", "rgba(226,226,226,0.5)"] + } + }, + axisLabel: { + interval: n - 1, + textStyle: { + color: r, + padding: [10, 0, 0, 0] + } + }, + splitLine: { + show: !0, + interval: n - 1 + } + }, + zAxis3D: { + name: " ", + type: "value", + splitNumber: 4, + axisLine: { + lineStyle: o ? { + width: 1, + opacity: .2, + color: l + } : { + width: .1, + opacity: .5, + color: l + } + }, + splitArea: { + show: !0, + areaStyle: { + color: ["#ffffff", "#ffffff", "#ffffff"] + } + }, + axisLabel: { + show: !1 + }, + axisTick: { + show: !1 + } + }, + grid3D: { + axisLine: { + interval: 1 + }, + axisPointer: { + lineStyle: { + opacity: .2 + }, + label: { + show: !1 + } + }, + splitLine: { + interval: 2 + }, + viewControl: { + projection: "perspective", + zoomSensitivity: 0, + rotateSensitivity: [1, 0], + distance: 280, + alpha: 20, + beta: 25 + }, + top: -40, + right: -10, + boxWidth: 150, + boxDepth: 150, + environment: "none", + light: { + main: { + intensity: .8, + alpha: 50 + }, + ambient: { + intensity: .5 + } + } + }, + series: [{ + type: "bar3D", + data: data.scores, + shading: "realistic", + bevelSize: .1, + bevelSmoothness: 2, + barSize: 13, + label: { + show: !1, + fontSize: 12, + fontWeight: 500, + borderWidth: 1, + color: "#333", + distance: -20, + formatter: function (e) { + for (let t = e.data.description, i = 2, a = Math.ceil(t.length / i), n = "\n", o = 0; o < a; o++) { + let l = o * i + , r = l + i; + n += t.substring(l, r) + "\n" + } + return n + } + }, + itemStyle: { + opacity: .95 + }, + emphasis: { + label: { + show: !1 + }, + itemStyle: { + color: "#FFB800", + opacity: .7 + } + } + }] + }; + myEcharts.setOption(option); + } + + const content = () => { + return
+ 开源健康成熟度评分,评估围绕以下维度对项目展开评估:
+ 稳健性:由安全警告,开发者数量,版本数评分反映。
+ 扩展性:由许可证评分、fork数评分、点赞数评分、关注数评分反映。
+ 维护性:由未解决 issue 和已解决 issue,commit数评分反映。
+
+ 总体成熟度评分
+ 80-100分: 项目成熟,维护良好。
+ 60-80分: 项目稳定,有待改进。
+ 0-60分: 项目成长期,需要加强维护。
+
+ + } + + return( + mainScore.score && mainScore.score > 0 ?
+
+ 开源健康成熟度评分 ({ mainScore.score && mainScore.score.toFixed(2) }) + + + +
+
+
: null + ) +} +export default Compass; \ No newline at end of file diff --git a/src/forge/Main/CoderDepot.jsx b/src/forge/Main/CoderDepot.jsx index 163766edf..301134115 100644 --- a/src/forge/Main/CoderDepot.jsx +++ b/src/forge/Main/CoderDepot.jsx @@ -26,6 +26,7 @@ import RenderHtml from '../../components/render-html'; import Loadable from 'react-loadable'; import Loading from '../../Loading'; import ProjectPortrait from '../Component/projectPortrait'; +import ProjectCompass from '../Component/projectCompass'; import imNoneImg from './img/importNone.png'; import moment from 'moment'; @@ -694,6 +695,7 @@ function CoderDepot(props){ /> } + {__CLIENT__ && } {/* 贡献者 */} {mirror_status ===0 && } {/* 项目画像: 导入/fork项目不展示, open_portrait后台配置是否开启仓库 */} diff --git a/src/forge/api/project.js b/src/forge/api/project.js new file mode 100644 index 000000000..bdc48e180 --- /dev/null +++ b/src/forge/api/project.js @@ -0,0 +1,10 @@ +import javaFetch from '../javaFetch'; + +const service = javaFetch(); +export function getmaturityAnalyse(params) { + return service({ + url: `https://testbd.trustie.net/maturityAnalyse/`, + method: 'get', + params: window.location.hostname === 'testforgeplus.trustie.net' ? { ...params, env_url: 'testforgeplus' } : params + }); +} \ No newline at end of file From deea542a2a2644a3015192b8963eb22d69ad60ea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=BB=84=E5=BF=83=E5=AE=87?= Date: Wed, 6 Nov 2024 17:34:47 +0800 Subject: [PATCH 3/6] cont. --- .../Information/Pages/homepage/component/specialProjects.jsx | 2 +- src/forge/Information/Pages/homepage/index.scss | 3 ++- src/forge/Main/CoderDepot.jsx | 4 ++-- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/forge/Information/Pages/homepage/component/specialProjects.jsx b/src/forge/Information/Pages/homepage/component/specialProjects.jsx index f3a491954..d4cb4aff7 100644 --- a/src/forge/Information/Pages/homepage/component/specialProjects.jsx +++ b/src/forge/Information/Pages/homepage/component/specialProjects.jsx @@ -147,7 +147,7 @@ function SpecialProjects({data, subTitle}) {
项目{name}

项目负责人:{projectLeader}

-

奖项:{awards}

+ { awards &&

奖项:{awards}

}

摘要:{description}

diff --git a/src/forge/Information/Pages/homepage/index.scss b/src/forge/Information/Pages/homepage/index.scss index 84235dd24..860cb2729 100644 --- a/src/forge/Information/Pages/homepage/index.scss +++ b/src/forge/Information/Pages/homepage/index.scss @@ -161,8 +161,9 @@ } } .pd_desc{ - min-height: 55px; + // min-height: 55px; color: #6B707C; + margin-bottom: 10px; } .pd_tag{ display: flex; diff --git a/src/forge/Main/CoderDepot.jsx b/src/forge/Main/CoderDepot.jsx index 301134115..1ab7573c7 100644 --- a/src/forge/Main/CoderDepot.jsx +++ b/src/forge/Main/CoderDepot.jsx @@ -26,7 +26,7 @@ import RenderHtml from '../../components/render-html'; import Loadable from 'react-loadable'; import Loading from '../../Loading'; import ProjectPortrait from '../Component/projectPortrait'; -import ProjectCompass from '../Component/projectCompass'; +// import ProjectCompass from '../Component/projectCompass'; import imNoneImg from './img/importNone.png'; import moment from 'moment'; @@ -695,7 +695,7 @@ function CoderDepot(props){ /> } - {__CLIENT__ && } + {/* {__CLIENT__ && } */} {/* 贡献者 */} {mirror_status ===0 && } {/* 项目画像: 导入/fork项目不展示, open_portrait后台配置是否开启仓库 */} From 0f25ae8c12371c2658976ede23abd2efad3e571b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=BB=84=E5=BF=83=E5=AE=87?= Date: Thu, 7 Nov 2024 09:27:38 +0800 Subject: [PATCH 4/6] =?UTF-8?q?=E4=B8=93=E9=A1=B9=E6=96=B0=E5=A2=9E?= =?UTF-8?q?=E5=8D=95=E4=BD=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../homepage/component/specialProjects.jsx | 18 ++++++++++-------- src/forge/Main/CoderDepot.jsx | 8 ++++++-- 2 files changed, 16 insertions(+), 10 deletions(-) diff --git a/src/forge/Information/Pages/homepage/component/specialProjects.jsx b/src/forge/Information/Pages/homepage/component/specialProjects.jsx index d4cb4aff7..41f59a0b7 100644 --- a/src/forge/Information/Pages/homepage/component/specialProjects.jsx +++ b/src/forge/Information/Pages/homepage/component/specialProjects.jsx @@ -64,25 +64,27 @@ function SpecialProjects({data, subTitle}) { setSelectedItem(selectedItem === id ? null : id); }; - const list = (title, table1, table2, list)=>{ + const list = (title, table1, table2,table3, list)=>{ return !!list.length &&

{title}

- {table1} - {table2} + {table1} + {table2} + {table3} {list.map(item=>{ - const {author} = item; + const {author, company} = item; const detail = item.relevancyObject; const {name, createUser, id} = detail return - + {title === "论文" ? : title === "专利" ? : } {name} - {author} + {author} + {company} })} @@ -151,8 +153,8 @@ function SpecialProjects({data, subTitle}) {

摘要:{description}

- {list("论文", "论文标题", "作者", PAPER)} - {list("专利", "专利标题", "作者", PATENT)} + {list("论文", "论文标题", "作者", "单位", PAPER)} + {list("专利", "专利标题", "作者", "单位", PATENT)} {list2("开源项目", "项目名称", "参与者", PROJECT)} {!PAPER.length && !PATENT.length && !PROJECT.length && }
diff --git a/src/forge/Main/CoderDepot.jsx b/src/forge/Main/CoderDepot.jsx index 1ab7573c7..5ff6f0ef2 100644 --- a/src/forge/Main/CoderDepot.jsx +++ b/src/forge/Main/CoderDepot.jsx @@ -26,10 +26,14 @@ import RenderHtml from '../../components/render-html'; import Loadable from 'react-loadable'; import Loading from '../../Loading'; import ProjectPortrait from '../Component/projectPortrait'; -// import ProjectCompass from '../Component/projectCompass'; import imNoneImg from './img/importNone.png'; import moment from 'moment'; +const ProjectCompass = Loadable({ + loader: () => import('../Component/projectCompass'), + loading: Loading, +}) + const format = "YYYY-MM-DD HH:mm" const CoderRootFileDetail = Loadable({ loader: () => import("./CoderRootFileDetail"), @@ -695,7 +699,7 @@ function CoderDepot(props){ /> } - {/* {__CLIENT__ && } */} + {__CLIENT__ && } {/* 贡献者 */} {mirror_status ===0 && } {/* 项目画像: 导入/fork项目不展示, open_portrait后台配置是否开启仓库 */} From c970fa85c290a33defef525216861987f7ab21a5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=BB=84=E5=BF=83=E5=AE=87?= Date: Thu, 7 Nov 2024 14:13:18 +0800 Subject: [PATCH 5/6] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E7=AE=80=E4=BB=8B?= =?UTF-8?q?=E3=80=81=E6=89=BF=E6=8B=85=E5=8D=95=E4=BD=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Pages/homepage/component/specialProjects.jsx | 8 ++++---- src/forge/Information/Pages/homepage/index.scss | 9 +++++++++ src/forge/Information/api.js | 6 +++++- 3 files changed, 18 insertions(+), 5 deletions(-) diff --git a/src/forge/Information/Pages/homepage/component/specialProjects.jsx b/src/forge/Information/Pages/homepage/component/specialProjects.jsx index 41f59a0b7..1f1cec65c 100644 --- a/src/forge/Information/Pages/homepage/component/specialProjects.jsx +++ b/src/forge/Information/Pages/homepage/component/specialProjects.jsx @@ -1,5 +1,5 @@ import React , { useEffect, useState } from 'react'; -import { getSpecialProjectDetail, getSpecialProjectList, getSpecialProjectTypeList } from '../../../api'; +import { getSpecialProjectDetail, getSpecialProjectList, getSpecialProjectTypeList, getImage } from '../../../api'; import { Col, Divider, Row, Tag } from 'antd'; import Nodata from '../../../../Nodata'; import '../index.scss'; @@ -128,7 +128,7 @@ function SpecialProjects({data, subTitle}) { > {index+1}
{item.name}
-
摘要:{item.description}
+ { item.responsibleCompany &&
承担单位:{item.responsibleCompany}
}

{item.projectLeader}

); @@ -142,7 +142,7 @@ function SpecialProjects({data, subTitle}) { if (currentRow.some(item => item.key === selectedItem?.toString())) { const {detail, PAPER=[], PATENT=[], PROJECT=[]} = projectDetail; - const {name, projectLeader, awards, description} = detail || {}; + const {name, projectLeader, awards, introductionImageIdentifier} = detail || {}; rendered.push(
@@ -150,7 +150,7 @@ function SpecialProjects({data, subTitle}) { 项目{name}

项目负责人:{projectLeader}

{ awards &&

奖项:{awards}

} -

摘要:{description}

+ { introductionImageIdentifier &&

简介:

}
{list("论文", "论文标题", "作者", "单位", PAPER)} diff --git a/src/forge/Information/Pages/homepage/index.scss b/src/forge/Information/Pages/homepage/index.scss index 860cb2729..9423966bb 100644 --- a/src/forge/Information/Pages/homepage/index.scss +++ b/src/forge/Information/Pages/homepage/index.scss @@ -399,6 +399,9 @@ margin-bottom: 35px; cursor: pointer; transition: all 0.3s ease; + .breadk-all { + word-break: break-all; + } .s_p_d_order{ width: 36px; height: 30px; @@ -461,6 +464,12 @@ background: #FFFFFF; box-shadow: 0px 0px 10px 1px rgba(88,116,255,0.18); border-radius: 4px; + .intro { + display: flex; + } + .intro-img { + width: 200px; + } } .leftBox{ position: relative; diff --git a/src/forge/Information/api.js b/src/forge/Information/api.js index 63d577eb9..6d2105c28 100644 --- a/src/forge/Information/api.js +++ b/src/forge/Information/api.js @@ -1,5 +1,9 @@ -import fetch from './fetch'; +import fetch, { httpUrl } from './fetch'; + +export function getImage(identifier) { + return `${ httpUrl }/file/open/downloadByIdentifier/${ identifier }` +} /**入口页接口***/ export function getMainInfos(deptId, params) { From af1eef1c0a97b1f05565df73635d949b1937aee6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=BB=84=E5=BF=83=E5=AE=87?= Date: Thu, 7 Nov 2024 14:49:59 +0800 Subject: [PATCH 6/6] =?UTF-8?q?=E6=9A=82=E6=97=B6=E5=B1=8F=E8=94=BDproject?= =?UTF-8?q?Compass?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/forge/Main/CoderDepot.jsx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/forge/Main/CoderDepot.jsx b/src/forge/Main/CoderDepot.jsx index 5ff6f0ef2..61ddc28d6 100644 --- a/src/forge/Main/CoderDepot.jsx +++ b/src/forge/Main/CoderDepot.jsx @@ -29,10 +29,10 @@ import ProjectPortrait from '../Component/projectPortrait'; import imNoneImg from './img/importNone.png'; import moment from 'moment'; -const ProjectCompass = Loadable({ - loader: () => import('../Component/projectCompass'), - loading: Loading, -}) +// const ProjectCompass = Loadable({ +// loader: () => import('../Component/projectCompass'), +// loading: Loading, +// }) const format = "YYYY-MM-DD HH:mm" const CoderRootFileDetail = Loadable({ @@ -699,7 +699,7 @@ function CoderDepot(props){ /> } - {__CLIENT__ && } + {/* {__CLIENT__ && } */} {/* 贡献者 */} {mirror_status ===0 && } {/* 项目画像: 导入/fork项目不展示, open_portrait后台配置是否开启仓库 */}