|
@@ -1,7 +1,5 @@
|
|
|
-import React, { Suspense, useCallback, useRef } from 'react'
|
|
|
+import React, { Suspense, useCallback, useRef, useState } from 'react'
|
|
|
import styles from './index.module.scss'
|
|
|
-import { useSelector } from 'react-redux'
|
|
|
-import { RootState } from '@/store'
|
|
|
import classNames from 'classnames'
|
|
|
// import * as THREE from 'three'
|
|
|
import { Canvas } from '@react-three/fiber'
|
|
@@ -9,8 +7,6 @@ import Model from './Model'
|
|
|
import A0btn from './A0btn'
|
|
|
|
|
|
function A0model() {
|
|
|
- const { pageKey } = useSelector((state: RootState) => state.A0model)
|
|
|
-
|
|
|
const modelRef = useRef<any>(null)
|
|
|
|
|
|
const cutModelFu = useCallback((val: string) => {
|
|
@@ -19,14 +15,32 @@ function A0model() {
|
|
|
} else modelRef.current.showAllModels()
|
|
|
}, [])
|
|
|
|
|
|
+ const [plan, setPlan] = useState(0)
|
|
|
+
|
|
|
+ const setPlanFu = useCallback((val: number) => {
|
|
|
+ setPlan(val)
|
|
|
+ }, [])
|
|
|
+
|
|
|
return (
|
|
|
<div
|
|
|
style={{ backgroundImage: `url(${serverUrl}model/bac.jpg)` }}
|
|
|
- className={classNames(
|
|
|
- styles.A0model,
|
|
|
- pageKey === 'model' ? styles.A0modelShow : ''
|
|
|
- )}
|
|
|
+ className={classNames(styles.A0model)}
|
|
|
>
|
|
|
+ {/* 加载中 */}
|
|
|
+ <div
|
|
|
+ className={classNames('A0base', plan >= 100 ? 'A0baseHide' : '')}
|
|
|
+ style={{ backgroundImage: `url(${serverUrl}home/bac.jpg)` }}
|
|
|
+ >
|
|
|
+ <img src={`${serverUrl}home/bs.png`} alt='' />
|
|
|
+ <div>
|
|
|
+ <p>加</p>
|
|
|
+ <p>载</p>
|
|
|
+ <p>中</p>
|
|
|
+ <p>{plan}%</p>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ {/* 模型页面 */}
|
|
|
<div className='A0main'>
|
|
|
<Canvas
|
|
|
shadows
|
|
@@ -41,7 +55,7 @@ function A0model() {
|
|
|
>
|
|
|
<Suspense>
|
|
|
{/* 场景与控制器 */}
|
|
|
- <Model ref={modelRef} />
|
|
|
+ <Model ref={modelRef} setPlanFu={val => setPlanFu(val)} />
|
|
|
</Suspense>
|
|
|
</Canvas>
|
|
|
</div>
|