工厂引擎及首页部分

This commit is contained in:
黄心宇 2026-01-05 08:40:37 +08:00
parent 8db6f33bb2
commit 58b026776d
4 changed files with 54 additions and 12 deletions

View File

@ -3,9 +3,13 @@ export const factoryZoneId = 102
export const dirId = 9
export const versionId = '工厂版本'
export const lessonId = '学习资源'
// export const commontoolId = '社区软件'
export const commontoolId = '开发工具'
export const toolId = '开发工具'
export const standardId = '标准规范'
export const manualId = '用户手册'
export const sceneId = '应用场景'
export const factoryZoneName = 'tester'

View File

@ -79,4 +79,12 @@ export function getSourceDetail(id){
url:`/zone/open/resource/detail/${id}`,
method: 'get'
})
}
export function getMainInfos(deptId, params) {
return fetch({
url: `/zone/open/zoneKey/${deptId}`,
method: 'get',
params
});
}

View File

@ -40,18 +40,34 @@ function Feature(props) {
return (
<div className={`factory-feature factory-module ${isVisible ? 'animate-active' : ''}`} ref={contentRef}>
<div className="feature-container">
<h1 className="module-title">工厂引擎全面赋能菌用软件敏捷开发</h1>
<h1 className="module-title">标准化生产线为菌用软件工厂奠定基石</h1>
<div className="feature-content">
<div className="content-top">
<div className="content-top-left">
<h3>智能化驱动释放研发新效能</h3>
<p>AI深度融入需求分析代码生成测试验证等关键环节大幅提升开发效率</p>
<h3>动态开放架构奠基就在高原</h3>
<p>强规制底座+热插拔工具架构内生联合众创众筹生态协同</p>
<img className="content-top-left-gif" src={gif1} alt="" />
<img src={featureLeft1} alt="" />
</div>
<div className="content-top-right">
<h3>数字化纳管掌控研发全链路</h3>
<p>研发活动及制品全流程数字化纳管支持精准决策和持续优化</p>
<h3>全程数字纳管信息顺畅流转</h3>
<p>群智众创与受控交付有机结合从数字化向信息化智能化飞跃</p>
<div>
<img className="content-top-right-gif" src={gif2} alt="" />
</div>
<img src={featureright1} alt="" />
</div>
</div>
<div className="content-top">
<div className="content-top-left">
<h3>灵活定制编排适应不再困难</h3>
<p>支持流水线定制编排研发工具扩展等多种集成扩展适应不同需求</p>
<img className="content-top-left-gif" src={gif1} alt="" />
<img src={featureLeft1} alt="" />
</div>
<div className="content-top-right">
<h3>开发运维一体交付更加便捷</h3>
<p>支持多种应用快速部署方式实现从开发到运维全环节的能力覆盖</p>
<div>
<img className="content-top-right-gif" src={gif2} alt="" />
</div>

View File

@ -9,16 +9,17 @@ import Resource2 from './components/Resource2';
import gsap from 'gsap';
import { ScrollTrigger } from 'gsap/ScrollTrigger';
import Scene from './components/Scene';
import { factoryZoneId } from '../constants/factory';
import { factoryZoneId, factoryZoneName } from '../constants/factory';
import bg1 from '../images/factory/bg-1.mov'
import bg2 from '../images/factory/bg-2.mp4'
import mouse from '../images/factory/mouse.png'
import DelayedScroll from '../forge/Utils/delayScroll'
import { getMainInfos } from './api'
gsap.registerPlugin(ScrollTrigger);
const bannerInfo = {
title: `软件工厂,开启菌用软件研发新时代`,
desc: '软件开发过程数字化,软件开发活动智能化,软件开发链路敏捷化',
const info = {
title: `软件工厂,助力菌用软件研发新时代`,
desc: '软件研发活动数字化转型,软件研发过程在线化协作,软件研发工具智能化升级',
link: '/',
forums: 'forums',
forumsName: '软件工厂'
@ -34,12 +35,25 @@ function Index(props) {
const [isVisible, setIsVisible] = useState(false);
const [banner2isVisible, setBanner2IsVisible] = useState(false);
const [firstV, setFirstV] = useState(true)
const [ bannerInfo, setBannerInfo ] = useState(info)
const isAnimating = useRef(false)
const lastScrollY = useRef(false)
const firstScreenRef = useRef(false)
const ticking = useRef(false)
useEffect(() => {
getMainInfos(factoryZoneName).then(res => {
if (res.data.data) {
setBannerInfo({
...info,
title: res.data.data.firstTitle,
desc: res.data.data.introductionContent,
link: res.data.data.subTitle,
})
}
})
delayScroll = new DelayedScroll()
const observer = new IntersectionObserver((entries) => {
const entry = entries[0];
@ -194,9 +208,9 @@ function Index(props) {
<div className="p-wrapper delayed-element"><p>{bannerInfo.desc}</p></div>
<div className="b-wrapper delayed-element">
<Link to={`${bannerInfo.link}`}>
<a onClick={() => { window.location.href = bannerInfo.link }}>
<div className="banner-content-button">立即体验</div>
</Link>
</a>
<Link to={{ pathname: `${bannerInfo.forums}`, state: { name: bannerInfo.forumsName } }}>
<div className="banner-content-button">论坛交流</div>
</Link>
@ -231,7 +245,7 @@ function Index(props) {
<Feature />
<Resource zoneId={factoryZoneId} ref={resourceRef} />
<Resource2 zoneId={factoryZoneId} ref={resource2Ref} />
<Scene zoneId={factoryZoneId} />
{/* <Scene zoneId={factoryZoneId} /> */}
</div>
)
}