工厂引擎及首页部分
This commit is contained in:
parent
8db6f33bb2
commit
58b026776d
|
|
@ -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'
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
});
|
||||
}
|
||||
|
|
@ -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>
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
)
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue