From 2c14cb9cde9f0ac309881f3a55c090a76c84f0df Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=BB=84=E5=BF=83=E5=AE=87?= Date: Mon, 29 Dec 2025 11:12:45 +0800 Subject: [PATCH] =?UTF-8?q?=E6=A0=B7=E5=BC=8F=E3=80=81=E6=96=87=E6=A1=88?= =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/factory/components/Resource/index.jsx | 6 +- src/factory/lessons/index.jsx | 52 +++++++------- src/factory/lessons/index.scss | 83 ++++++++++++----------- src/factory/resource/index.scss | 2 + 4 files changed, 74 insertions(+), 69 deletions(-) diff --git a/src/factory/components/Resource/index.jsx b/src/factory/components/Resource/index.jsx index 118d55187..314d9d2f1 100644 --- a/src/factory/components/Resource/index.jsx +++ b/src/factory/components/Resource/index.jsx @@ -12,9 +12,9 @@ import '../../common.scss' gsap.registerPlugin(ScrollTrigger); const resourceInfo = [ - { name: '项目', title: '软件项目', icon: 'icon-xiangmu', desc: '开源共建,模块化架构,一键集成,性能提升50%,安全合规,助力企业快速构建高并发、高可用系统,让开发者专注业务,无需关心底层复杂度。', path: '/softwareFactory/resource/softwareProject' }, - { name: '版本', title: '工厂版本', icon: 'icon-banben', desc: '一键生成版本快照,自动比对差异、回滚热补丁,多环境并行追踪。', path: '/softwareFactory/resource/factoryVersion' }, - { name: '工具', title: '开发工具', icon: 'icon-gongju', desc: '一键生成版本快照,自动比对差异、回滚热补丁,多环境并行追踪,审批流+签名验真,让每次发布可溯源、可复刻、零差错。', path: '/softwareFactory/resource/developmentTools' }, + { name: '项目', title: '软件项目', icon: 'icon-xiangmu', desc: '汇聚用户需求,形成开发任务,设置质量门槛,提升软件质量,快速构建软件版本,高效应对市场变化。', path: '/softwareFactory/resource/softwareProject' }, + { name: '版本', title: '工厂版本', icon: 'icon-banben', desc: '按照敏捷开发快速迭代的思路,形成解决微小问题的小版本,提供长期支持版本(LTS版)。', path: '/softwareFactory/resource/factoryVersion' }, + { name: '工具', title: '开发工具', icon: 'icon-gongju', desc: '提供开发者所需的各类软件开发工具,包括IDE、Git工具、命令行终端工具、数据库设计工具、图像编辑工具等。', path: '/softwareFactory/resource/developmentTools' }, ] const Resource = forwardRef(({ zoneId }, ref) => { diff --git a/src/factory/lessons/index.jsx b/src/factory/lessons/index.jsx index da5ea52f7..96d571855 100644 --- a/src/factory/lessons/index.jsx +++ b/src/factory/lessons/index.jsx @@ -21,7 +21,7 @@ import { message } from 'antd'; const backList = [back1, back2, back3] function Index(props) { - const [nowTop, setNowTop] = useState({}) + const [nowTop, setNowTop] = useState(0) const [isVisible, setIsVisible] = useState(false); const carouselEL = useRef(null); @@ -96,7 +96,7 @@ function Index(props) { return (
- +

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

从核心课程到规范标准,构建持续进化的工程能力体系。

@@ -106,33 +106,35 @@ function Index(props) {
-

{ lesson.name }

-

{ lesson.summary }

-
- { - chapterList.map((item, index) => { - return
- { - index < 10 ? - 0{index + 1} : - {index + 1} - } -
+

{lesson.name}

+

{lesson.summary}

+
+
+ { + chapterList.map((item, index) => { + return
{ - item.name + index < 10 ? + 0{index + 1} : + {index + 1} } -
+
+ { + item.name + } +
-
- }) - } +
+ }) + } +
{ setNowTop(chapterList[e]) }} + afterChange={e => { setNowTop(e)}} dots={false} > {chapterList.map((item, index) => { @@ -220,7 +222,7 @@ function Index(props) { chapterList.slice(3).map((item, index) => { return
-

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

+

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

@@ -267,10 +269,10 @@ function Index(props) { { manualList.slice(0, 3).map((item, index) => { const nameList = item.name.split('软件工厂') - return
- - { index === 0 ?
{item.name}
:
软件工厂
{ nameList[1] }
} -

{ item.summary }

+ return
+ + {index === 0 ?
{item.name}
:
软件工厂
{nameList[1]}
} +

{item.summary}

}) diff --git a/src/factory/lessons/index.scss b/src/factory/lessons/index.scss index b4dc1ad54..f02b6a11e 100644 --- a/src/factory/lessons/index.scss +++ b/src/factory/lessons/index.scss @@ -114,57 +114,58 @@ position: relative; } - .chapter-list { - margin-left: 36px; - // height: 360px; - // overflow-y: scroll; - // overflow-x: hidden; + .chapter-wrapper { + height: 387px; + overflow: hidden; + .chapter-list { + transition: all .4s cubic-bezier(.25, .46, .45, .94); + margin-left: 36px; + .chapter-item { + height: 88px; + width: 100%; + line-height: 88px; + font-family: alibaba; + font-weight: 500; + color: #091221; + font-size: 22px; - .chapter-item { - height: 88px; - width: 100%; - line-height: 88px; - font-family: alibaba; - font-weight: 500; - color: #091221; - font-size: 22px; + border-top: 2px solid rgba(9, 18, 33, 0.04); + position: relative; + display: flex; - border-top: 2px solid rgba(9, 18, 33, 0.04); - position: relative; - display: flex; + div { + white-space: nowrap; + text-overflow: ellipsis; + overflow: hidden; + padding-right: 30px; - div { - white-space: nowrap; - text-overflow: ellipsis; - overflow: hidden; - padding-right: 30px; + } - } - - &::before { - content: url('../../images/factory/lessons/triangle.webp'); - width: 5px; - top: -45px; - right: 0; - display: inline-block; - position: absolute; - } - - &:nth-last-child(1) { - border-bottom: 2px solid rgba(9, 18, 33, 0.04); - - &::after { + &::before { content: url('../../images/factory/lessons/triangle.webp'); width: 5px; - top: 41px; + top: -45px; right: 0; display: inline-block; position: absolute; } - } - .chapter-index { - margin-right: 21px; + &:nth-last-child(1) { + border-bottom: 2px solid rgba(9, 18, 33, 0.04); + + &::after { + content: url('../../images/factory/lessons/triangle.webp'); + width: 5px; + top: 41px; + right: 0; + display: inline-block; + position: absolute; + } + } + + .chapter-index { + margin-right: 21px; + } } } } @@ -232,7 +233,7 @@ width: 348px; height: 343.59px; border-radius: 16px; - object-fit: cover; + object-fit: contain; } &:nth-child(1) { diff --git a/src/factory/resource/index.scss b/src/factory/resource/index.scss index 463356552..58aefbb4a 100644 --- a/src/factory/resource/index.scss +++ b/src/factory/resource/index.scss @@ -20,6 +20,8 @@ position: absolute; width: 1600px; height: 410px; + z-index: 1; + pointer-events: none; div:nth-child(1) { top: 70px;