diff --git a/src/factory/components/Feature/index.jsx b/src/factory/components/Feature/index.jsx index 35b8bd347..028097274 100644 --- a/src/factory/components/Feature/index.jsx +++ b/src/factory/components/Feature/index.jsx @@ -108,7 +108,11 @@ function Feature(props) {

{item.name}

{item.summary}

- +
) diff --git a/src/factory/components/Feature/index.scss b/src/factory/components/Feature/index.scss index 8cdb14527..899a3d161 100644 --- a/src/factory/components/Feature/index.scss +++ b/src/factory/components/Feature/index.scss @@ -153,7 +153,7 @@ .content-bottom { width: 1600px; - height: 398px; + height: 260px; display: flex; align-items: center; position: relative; @@ -161,7 +161,7 @@ background-color: transparent; border: none; display: block; - padding: 40px 54px; + padding: 20px 54px; h3 { color: white; @@ -179,14 +179,14 @@ .df-item { width: 470px; - height: 244px; + height: 144px; background: #ffffff; border: 1px solid; border-color: rgba(22, 76, 228, 0.2); border-radius: 20px; box-shadow: 0px 0px 20px rgba(22, 76, 228, 0.44); display: flex; - padding: 32px; + padding: 16px; img { width: 44px; @@ -201,10 +201,10 @@ h4 { width: 236px; - line-height: 33px; + line-height: 20px; font-family: alibabaBold; color: #091221; - font-size: 24px; + font-size: 20px; text-overflow: ellipsis; white-space: nowrap; overflow: hidden; @@ -218,11 +218,11 @@ font-family: alibabareg; color: #091221; font-size: 15px; - display: -webkit-box; - -webkit-line-clamp: 3; - -webkit-box-orient: vertical; + text-overflow: ellipsis; + white-space: nowrap; overflow: hidden; - height: 82px; + word-break: break-all; + height: 32px; text-align: left; } diff --git a/src/factory/components/News/index.scss b/src/factory/components/News/index.scss index 07c70bf3a..b41b5f268 100644 --- a/src/factory/components/News/index.scss +++ b/src/factory/components/News/index.scss @@ -164,7 +164,7 @@ color: #091221; font-size: 16px; display: -webkit-box; - -webkit-line-clamp: 5; + -webkit-line-clamp: 8; -webkit-box-orient: vertical; overflow: hidden; } diff --git a/src/factory/components/Resource/index.jsx b/src/factory/components/Resource/index.jsx index 5d1985448..cdc313c04 100644 --- a/src/factory/components/Resource/index.jsx +++ b/src/factory/components/Resource/index.jsx @@ -80,33 +80,25 @@ const Resource = forwardRef(({ zoneId }, ref) => { } }); - // 第一个面板:逐渐缩小 - timelineRef.current.to(panels[0], { - y: "-5%", - scale: 0.85, - duration: 1 - }, 0); + // 为每个面板创建动画并添加回调 + panels.forEach((panel, index) => { + const animations = [ + { y: "-5%", scale: 0.85, duration: 1 }, + { y: "-50%", scale: 0.9, duration: 1 }, + { y: "-150%", scale: 0.95, duration: 1 }, + { y: "-230%", scale: 0.98, duration: 1.5 } + ]; - // 第二个面板:向上移动并缩小 - timelineRef.current.to(panels[1], { - y: "-50%", - scale: 0.9, - duration: 1 - }, 0); - - // 第三个面板:向上移动最多v - timelineRef.current.to(panels[2], { - y: "-150%", - scale: 0.95, - duration: 1 - }, 0); - - // 第三个面板:向上移动最多v - timelineRef.current.to(panels[3], { - y: "-230%", - scale: 0.98, - duration: 1.5 - }, 0); + timelineRef.current.to(panel, { + ...animations[index], + onComplete: () => { + panel.classList.add('animated-panel'); + }, + onReverseComplete: () => { + panel.classList.remove('animated-panel'); + } + }, 0); + }); // 清理函数 return () => { @@ -152,7 +144,7 @@ const Resource = forwardRef(({ zoneId }, ref) => { }); } - const getCommonToolsList = () => { + const getCommonToolsList = () => { getSourceList({ id: factoryZoneId, keywords: commontoolId }).then(res => { const rows = [] res.data.rows.forEach(e => { @@ -192,7 +184,7 @@ const Resource = forwardRef(({ zoneId }, ref) => {
-
+
{ getLeftContent(1) } @@ -200,18 +192,26 @@ const Resource = forwardRef(({ zoneId }, ref) => { { resourceList2.length > 0 && resourceList2.map((item, index) => { return
-
{item.name}
-
{item.summary}
- +
{item.name}
+
{item.summary}
+
}) } { manualList.map((item, index) => { return
-
{item.name}
-
{item.summary}
- +
{item.name}
+
{item.summary}
+
}) } @@ -225,7 +225,7 @@ const Resource = forwardRef(({ zoneId }, ref) => {
-
+
{ getLeftContent(0) } @@ -234,7 +234,7 @@ const Resource = forwardRef(({ zoneId }, ref) => { resourceList1 && resourceList1.length > 0 && resourceList1.map((item, index) => { const { projectProperties } = item; let imageUrl = projectProperties.authorImageUrl.split(':4000/') && projectProperties.authorImageUrl.split(':4000/')[1] - const authorImageUrl = imageUrl ? `${window.location.origin}/${ imageUrl }` : projectProperties.authorImageUrl + const authorImageUrl = imageUrl ? `${window.location.origin}/${imageUrl}` : projectProperties.authorImageUrl // projectProperties.praisesCount = Math.floor(Math.random(0, 1) * 50) // projectProperties.forkedCount = Math.floor(Math.random(0, 1) * 50) const tags = projectProperties.topics && projectProperties.topics.split(','); @@ -252,7 +252,7 @@ const Resource = forwardRef(({ zoneId }, ref) => { }
} -
{projectProperties.description}
+
{projectProperties.description}
{projectProperties.forkedCount} {projectProperties.praisesCount} @@ -265,7 +265,7 @@ const Resource = forwardRef(({ zoneId }, ref) => {
-
+
{ getLeftContent(2) } @@ -273,11 +273,15 @@ const Resource = forwardRef(({ zoneId }, ref) => { { resourceList3.length > 0 && resourceList3.map((item, index) => { return
-
{item.name}
-
{item.summary}
+
{item.name}
+
{item.summary}
- +
}) @@ -286,7 +290,7 @@ const Resource = forwardRef(({ zoneId }, ref) => {
-
+
{ getLeftContent(3) } @@ -294,11 +298,15 @@ const Resource = forwardRef(({ zoneId }, ref) => { { resourceList4.length > 0 && resourceList4.map((item, index) => { return
-
{item.name}
-
{item.summary}
+
{item.name}
+
{item.summary}
- +
}) diff --git a/src/factory/components/Resource/index.scss b/src/factory/components/Resource/index.scss index 2cd1cfae0..49b607df8 100644 --- a/src/factory/components/Resource/index.scss +++ b/src/factory/components/Resource/index.scss @@ -270,6 +270,30 @@ } } + // 收起来时 + .animated-panel { + + .panel-content-1, + .panel-content-2, + .panel-content-3 { + .content-left { + .icon-container { + display: none !important; + } + + h3 { + margin-top: 0 !important; + } + + p { + display: none; + transition: display 0.3s ease; + } + } + } + + } + // 面板内容样式 .panel-content { height: 100%; @@ -283,6 +307,7 @@ flex-shrink: 0; .icon-container { + transition: display 0.3s ease; width: 58px; height: 58px; background: #ffffff; @@ -301,6 +326,7 @@ font-weight: 700; color: #091221; font-size: 26px; + transition: margin-top 0.3s ease; } p { @@ -309,6 +335,7 @@ font-family: alibabareg; color: #091221; font-size: 15px; + transition: display 0.3s ease; } a { diff --git a/src/factory/components/Resource2/index.jsx b/src/factory/components/Resource2/index.jsx index 0a549452c..f046111ac 100644 --- a/src/factory/components/Resource2/index.jsx +++ b/src/factory/components/Resource2/index.jsx @@ -120,7 +120,7 @@ const Resource2 = forwardRef(({ zoneId }, ref) => {

学习专区,多样资源服务工厂应用

-

在线课程

+

在线课程

全景智治贯通需求到交付,敏捷可视管控风险,打造高效可信软件生产新范式,赋能研发跃迁

{ @@ -146,7 +146,11 @@ const Resource2 = forwardRef(({ zoneId }, ref) => {

{item.name}

{item.summary}

- +
@@ -155,7 +159,7 @@ const Resource2 = forwardRef(({ zoneId }, ref) => {
-

文档资料

+

文档资料

    {docList.map((item, index) => ( diff --git a/src/factory/components/Resource2/index.scss b/src/factory/components/Resource2/index.scss index 1f39c59d0..c9c89b79b 100644 --- a/src/factory/components/Resource2/index.scss +++ b/src/factory/components/Resource2/index.scss @@ -33,6 +33,33 @@ h3 { color: #fff; + cursor: pointer; + width: fit-content; + + i { + opacity: 0; + margin-left: auto; + height: 35px; + width: 35px; + position: relative; + display: inline-block; + overflow: hidden; + + svg { + position: absolute; + left: -25px; + top: 8px; + } + + } + + &:hover { + color: #091221; + + i { + opacity: 1; + } + } } p { @@ -232,6 +259,24 @@ background-image: url('../../../images/factory/lessons-right-2-bg.webp'); padding: 33px 35px; + h3 { + i { + margin-left: auto; + height: 35px; + width: 35px; + position: relative; + display: inline-block; + overflow: hidden; + + svg { + position: absolute; + left: -25px; + top: 8px; + } + + } + } + &-content { display: flex; width: 100%; diff --git a/src/factory/lessons/detail/index.jsx b/src/factory/lessons/detail/index.jsx index e0479a245..479e00e2d 100644 --- a/src/factory/lessons/detail/index.jsx +++ b/src/factory/lessons/detail/index.jsx @@ -17,6 +17,7 @@ function Index(props) { const id = props.match.params.id const [detail, setDetail] = useState({}) const [content, setContent] = useState(); + const videoRef = useRef(null) useEffect(() => { document.title = '规范详情-软件工厂专区'; @@ -37,10 +38,11 @@ function Index(props) { extendData = JSON.parse(response.data.data.extendData) } document.title = response.data.data.name - if (extendData.content) { - setContent(Base64.decode(extendData.content)) - } - setDetail({...response.data.data, ...extendData}); + if (extendData.content) { + const base64content = Base64.decode(extendData.content) + setContent(base64content !== '


    ' ? base64content : '') + } + setDetail({ ...response.data.data, ...extendData }); } }).catch(error => { }) } @@ -53,12 +55,25 @@ function Index(props) { 首页 学习资源 - {detail.name} + {detail.name}
    -

    {detail.name}

    -

    {detail.summary}

    - +

    {detail.name}

    +

    {detail.summary}

    + { + detail.fileIds && + } + { + detail.url && + + }
    @@ -68,11 +83,17 @@ function Index(props) {
    -
    - { - content && - } -
    + { + content && +
    + +
    + } + { + detail.url &&
    + +
    + }
    ) diff --git a/src/factory/lessons/detail/index.scss b/src/factory/lessons/detail/index.scss index 1155846a7..89376b792 100644 --- a/src/factory/lessons/detail/index.scss +++ b/src/factory/lessons/detail/index.scss @@ -63,12 +63,12 @@ p { margin-top: 25px; max-width: 650px; - line-height: 22px; + line-height: 30px; font-family: alibabareg; color: #5d6a80; font-size: 16px; display: -webkit-box; - -webkit-line-clamp: 2; + -webkit-line-clamp: 6; -webkit-box-orient: vertical; overflow: hidden; } @@ -241,9 +241,16 @@ } .news-detail-content-wrapper { - width: 1600px; - float: left; - padding-bottom: 60px; + background-image: url('../../../images/factory/resource/detail-bg.png'); + background-repeat: no-repeat; + background-size: 100% 100%; + padding: 30px; + border-radius: 16px; + margin-bottom: 60px; + + video { + width: 100%; + } } .news-detail-content-others { diff --git a/src/factory/lessons/index.jsx b/src/factory/lessons/index.jsx index 37554ec78..871aefa6d 100644 --- a/src/factory/lessons/index.jsx +++ b/src/factory/lessons/index.jsx @@ -106,7 +106,7 @@ function Index(props) { } rows.push({ ...e, extendDataUrl: extendData.url, extendDataHeadImg: extendData.headImg }) }); - setDocList(rows.slice(0,6)); + setDocList(rows.slice(0, 6)); }); } @@ -125,20 +125,23 @@ function Index(props) {

    {lesson.name}

    {lesson.summary}

    -
    +
    { chapterList.map((item, index) => { - return
    + return
    { index < 10 ? 0{index + 1} : {index + 1} } -
    - { - item.name - } -
    + +
    + { + item.name + } +
    + +
    }) @@ -150,7 +153,7 @@ function Index(props) { { setNowTop(e)}} + afterChange={e => { setNowTop(e) }} dots={false} > {chapterList.map((item, index) => { @@ -226,7 +229,7 @@ function Index(props) { {item.domainName}
    - +
    @@ -238,13 +241,13 @@ function Index(props) { chapterList.slice(3).map((item, index) => { return
    -

    { window.open(item.extendDataUrl) }}>{item.name}

    +

    {item.name}

    -

    {item.summary}

    +

    {item.summary}

    {moment(item.createTime).format('YYYY/MM/DD')}
    @@ -260,8 +263,11 @@ function Index(props) { return

    {item.name}

    - {/* */} - +

    {item.summary}

    @@ -314,7 +320,11 @@ function Index(props) { {index === 0 ?
    {item.name}
    :
    软件工厂
    {nameList[1]}
    }

    {item.summary}

    - +
    }) } diff --git a/src/factory/lessons/index.scss b/src/factory/lessons/index.scss index e3b99aea5..bb6151d2d 100644 --- a/src/factory/lessons/index.scss +++ b/src/factory/lessons/index.scss @@ -122,6 +122,14 @@ transition: all .4s cubic-bezier(.25, .46, .45, .94); margin-left: 36px; + .active { + + span, + div { + color: #164ce4 !important; + } + } + .chapter-item { height: 88px; width: 100%; @@ -395,7 +403,7 @@ display: flex; &-item { - width: 390px; + width: 300px; display: flex; flex-direction: column; @@ -434,7 +442,7 @@ } h4 { - max-width: 340px; + max-width: 240px; line-height: 30px; font-family: alibabaBold; font-weight: 700; @@ -533,7 +541,7 @@ p { max-width: 356px; - -webkit-line-clamp: 2; + -webkit-line-clamp: 3; } diff --git a/src/factory/resource/commonTools/detail/index.jsx b/src/factory/resource/commonTools/detail/index.jsx index 7b0a8627a..0c07cac5a 100644 --- a/src/factory/resource/commonTools/detail/index.jsx +++ b/src/factory/resource/commonTools/detail/index.jsx @@ -86,7 +86,11 @@ function Index(props) { 工具类型
    - +
    更多热门工具
    { diff --git a/src/factory/resource/components/Search/index.jsx b/src/factory/resource/components/Search/index.jsx index 87440419c..06fac84fc 100644 --- a/src/factory/resource/components/Search/index.jsx +++ b/src/factory/resource/components/Search/index.jsx @@ -1,17 +1,19 @@ import React, { useEffect, useState, useImperativeHandle, forwardRef } from 'react'; import { styles } from './index.scss'; import { getSourceList, getProjectsLists } from '../../../api' -import { factoryZoneId, toolId, versionId } from '../../../../constants/factory' +import { factoryZoneId, toolId, versionId, commontoolId } from '../../../../constants/factory' import ActionItem from '../ActionItem'; import emptyImg from '../../../../images/factory/resource/empty.webp' -function Index({searchValue, searchType},ref) { +function Index({ searchValue, searchType }, ref) { const [versionList, setVersionList] = useState([]); const [versionTotal, setVersionTotal] = useState(0); const [projectList, setProjectList] = useState([]); const [projectTotal, setProjectTotal] = useState(0); const [toolList, setToolList] = useState([]); const [toolTotal, setToolTotal] = useState(0); + const [cToolList, setCToolList] = useState([]); + const [cToolTotal, setCToolTotal] = useState(0); const [page, setPage] = useState(0); const pageSize = 20 const totalSize = 6 // 聚合查询只查六个 @@ -26,13 +28,14 @@ function Index({searchValue, searchType},ref) { getVersionList(1) getProjectsList(1) getToolsList(1) + getCToolsList(1) } const getVersionList = () => { getSourceList({ pageNum: page, pageSize: searchType ? pageSize : totalSize, - id: factoryZoneId, name: searchValue, keywords: versionId + id: factoryZoneId, name: searchValue, keywords: versionId }).then(res => { setVersionList(res.data.rows.slice(0, 4)); setVersionTotal(res.data.total) @@ -43,13 +46,24 @@ function Index({searchValue, searchType},ref) { getSourceList({ pageNum: page, pageSize: searchType ? pageSize : totalSize, - id: factoryZoneId, name: searchValue, keywords: toolId + id: factoryZoneId, name: searchValue, keywords: toolId }).then(res => { setToolList(res.data.rows.slice(0, 4)); setToolTotal(res.data.total) }); }; + const getCToolsList = () => { + getSourceList({ + pageNum: page, + pageSize: searchType ? pageSize : totalSize, + id: factoryZoneId, name: searchValue, keywords: commontoolId + }).then(res => { + setCToolList(res.data.rows.slice(0, 4)); + setCToolTotal(res.data.total) + }); + }; + const getProjectsList = (page) => { getProjectsLists(factoryZoneId, { pageNum: page, @@ -69,7 +83,7 @@ function Index({searchValue, searchType},ref) { { projectList.length > 0 &&
    -

    软件项目

    +

    工厂开源项目

    #项目 {projectTotal}个
    @@ -77,7 +91,7 @@ function Index({searchValue, searchType},ref) { projectList.map((item, index) => { const project = item.projectProperties || {} let imageUrl = project.authorImageUrl.split(':4000/') && project.authorImageUrl.split(':4000/')[1] - const authorImageUrl = imageUrl ? `${window.location.origin}/${ imageUrl }` : project.authorImageUrl + const authorImageUrl = imageUrl ? `${window.location.origin}/${imageUrl}` : project.authorImageUrl return
    @@ -111,11 +125,47 @@ function Index({searchValue, searchType},ref) {
    } + { + cToolList.length > 0 &&
    +
    +

    共建共用工具

    +
    #工具 {cToolTotal}个
    +
    +
    + { + cToolList.map((item, index) => { + const createUser = item.createUser || {} + return +
    +
    + +
    {item.name}
    +
    +
    + {item.domainName} +
    +
    + {item.summary} +
    +
    + {item.downloadCount} +
    +
    +
    + + +
    +
    + }) + } +
    +
    + } { toolList.length > 0 &&
    -

    开发工具

    -
    #工具 {toolTotal}个
    +

    开源社区软件

    +
    #软件 {toolTotal}个
    { @@ -150,8 +200,8 @@ function Index({searchValue, searchType},ref) { { versionList.length > 0 &&
    -

    软件工厂基座

    -
    #版本 {versionTotal}个
    +

    生产线安装包

    +
    #安装包 {versionTotal}个
    { @@ -169,9 +219,9 @@ function Index({searchValue, searchType},ref) {
    } { - versionTotal + projectTotal + toolTotal === 0 &&
    + versionTotal + projectTotal + toolTotal + cToolTotal === 0 &&
    -

    抱歉,暂无与“{ searchValue }”相关的数据

    +

    抱歉,暂无与“{searchValue}”相关的数据

    }
    diff --git a/src/factory/resource/components/Search/index.scss b/src/factory/resource/components/Search/index.scss index b59610088..bc287d9a8 100644 --- a/src/factory/resource/components/Search/index.scss +++ b/src/factory/resource/components/Search/index.scss @@ -75,7 +75,7 @@ .item-desc { margin-top: 20px; - line-height: 21px; + line-height: 24px; font-family: alibabareg; color: #091221; font-size: 15px; diff --git a/src/factory/resource/developmentTools/detail/index.jsx b/src/factory/resource/developmentTools/detail/index.jsx index 7285da708..5882eedc8 100644 --- a/src/factory/resource/developmentTools/detail/index.jsx +++ b/src/factory/resource/developmentTools/detail/index.jsx @@ -86,7 +86,11 @@ function Index(props) { 工具类型
    - +
    更多热门工具
    { diff --git a/src/factory/resource/developmentTools/index.jsx b/src/factory/resource/developmentTools/index.jsx index 3a7820695..c8c56122c 100644 --- a/src/factory/resource/developmentTools/index.jsx +++ b/src/factory/resource/developmentTools/index.jsx @@ -95,10 +95,10 @@ function Index(props) { orderByDownloadCount: true } if (selectedType) params.domainId = selectedType - - getSourceList(params).then(res => { + + getSourceList(params).then(res => { setLoading(false) - if (res.data.rows) { + if (res.data.rows) { const rows = [] res.data.rows.forEach(e => { let extendData = {} @@ -106,7 +106,7 @@ function Index(props) { extendData = JSON.parse(e.extendData) } rows.push({ ...e, extendDataUrl: extendData.url, extendDataHeadImg: extendData.headImg }) - + }); setContentList(rows) } @@ -162,7 +162,11 @@ function Index(props) { {item.domainName}

    {item.summary}

    - +
    ) }) @@ -194,7 +198,7 @@ function Index(props) { const createUser = item.createUser return
    - +
    {item.name}

    @@ -205,7 +209,11 @@ function Index(props) {

    - +
    }) @@ -222,7 +230,7 @@ function Index(props) { newList.map((item, index) => { const createUser = item.createUser return
    - +
    {item.name}
    @@ -230,7 +238,11 @@ function Index(props) {

    {item.summary}

    - +
    }) @@ -255,7 +267,7 @@ function Index(props) {
    - +
    {item.name}
    @@ -268,7 +280,11 @@ function Index(props) {
    - +
    diff --git a/src/factory/resource/factoryVersion/index.jsx b/src/factory/resource/factoryVersion/index.jsx index c19c70183..950375667 100644 --- a/src/factory/resource/factoryVersion/index.jsx +++ b/src/factory/resource/factoryVersion/index.jsx @@ -73,7 +73,7 @@ function Index(props) { {item.createTime}
    - +
    }) @@ -96,7 +96,11 @@ function Index(props) { {index === 0 ?
    {item.name}
    :
    软件工厂
    {nameList[1]}
    }

    {item.summary}

    - +
    }) } diff --git a/src/forge/Main/Detail.js b/src/forge/Main/Detail.js index 24a5187b5..17ce9a8a1 100644 --- a/src/forge/Main/Detail.js +++ b/src/forge/Main/Detail.js @@ -664,12 +664,12 @@ class Detail extends Component {
    - {/* {project && project.author && + {project && project.author && {project.author.name} } - / */} - {/* {projectDetail && projectDetail.name} */} - {projectDetail && projectDetail.name} + / + {projectDetail && projectDetail.name} + {/* {projectDetail && projectDetail.name} */}
    {projectDetail && projectDetail.private && 私有} {!platform && 只读} diff --git a/src/forge/New/Index.js b/src/forge/New/Index.js index b1898ffc1..f7b00fb80 100644 --- a/src/forge/New/Index.js +++ b/src/forge/New/Index.js @@ -729,7 +729,7 @@ class Index extends Component { } {/* 确权 仅在新建项目时 */} - {open_blockchain && projectsType === "deposit" &&
    + {/* {open_blockchain && projectsType === "deposit" &&

    确权

    {this.setState({tokenConTri:e.target.checked})}}>加入贡献值激励确权机制
    {tokenConTri && )} } -
    } +
    } */}
    注: 为必填项,否则为选填