Commit 2615ead3 authored by 邹绪超's avatar 邹绪超

feat: 新增cesiumMap

parent 1c8a945f
...@@ -6,6 +6,10 @@ function resolve (dir) { ...@@ -6,6 +6,10 @@ function resolve (dir) {
return join(__dirname, '../', dir) return join(__dirname, '../', dir)
} }
const { REACT_APP_ENV } = process.env; const { REACT_APP_ENV } = process.env;
const cesiumBuild = "../node_modules/cesium/Build/Cesium"
const pkgName = require('../package.json').name;
const path = require('path');
const CESIUM_BASE_URL = `/${pkgName}`
module.exports = { module.exports = {
base: '/civbase', base: '/civbase',
title: '熊猫智慧城市监控管理解决方案', title: '熊猫智慧城市监控管理解决方案',
...@@ -77,5 +81,25 @@ module.exports = { ...@@ -77,5 +81,25 @@ module.exports = {
}, },
javascriptEnabled: true javascriptEnabled: true
}, },
copy : [{
from : path.join(pkgName , cesiumBuild, './Workers'),
to : 'Workers',
},{
from : path.join( pkgName, cesiumBuild, 'Assets'),
to : 'Assets',
},{
from : path.join( pkgName, cesiumBuild, 'Widgets'),
to : 'Widgets',
},{
from : path.join( pkgName, cesiumBuild, 'ThirdParty'),
to : 'ThirdParty'
}
],
define : {
CESIUM_BASE_URL : JSON.stringify(CESIUM_BASE_URL).replace(/\"/g , '')
},
alias: {
cesium : path.resolve(__dirname, cesiumBuild)
}
// esbuild: {} // esbuild: {}
}; };
This diff is collapsed.
...@@ -93,13 +93,14 @@ ...@@ -93,13 +93,14 @@
"@amap/amap-jsapi-loader": "^1.0.1", "@amap/amap-jsapi-loader": "^1.0.1",
"@ant-design/colors": "^5.0.1", "@ant-design/colors": "^5.0.1",
"@ant-design/icons": "^4.0.0", "@ant-design/icons": "^4.0.0",
"@ant-design/pro-form": "^1.42.1",
"@ant-design/pro-layout": "^6.24.1", "@ant-design/pro-layout": "^6.24.1",
"@ant-design/pro-skeleton": "^1.0.0-beta.2", "@ant-design/pro-skeleton": "^1.0.0-beta.2",
"@ant-design/pro-table": "^2.5.3", "@ant-design/pro-table": "^2.5.3",
"@ant-design/pro-utils": "^1.10.4", "@ant-design/pro-utils": "^1.10.4",
"@ant-design/pro-form": "^1.42.1",
"@babel/polyfill": "7.4.3", "@babel/polyfill": "7.4.3",
"@babel/runtime": "^7.10.5", "@babel/runtime": "^7.10.5",
"@wisdom-cesium/cesium": "^1.0.52",
"@wisdom-components/empty": "^1.4.1", "@wisdom-components/empty": "^1.4.1",
"@wisdom-map/arcgismap": "^1.0.60-0", "@wisdom-map/arcgismap": "^1.0.60-0",
"@wisdom-map/util": "^1.0.27-0", "@wisdom-map/util": "^1.0.27-0",
......
...@@ -23,6 +23,7 @@ import { ...@@ -23,6 +23,7 @@ import {
SLIDER_MENU_MODE, SLIDER_MENU_MODE,
VALIDATE_AUTH, VALIDATE_AUTH,
MAP_VIEW, MAP_VIEW,
PD_VIEW
} from './constants'; } from './constants';
export function getConfig(data) { export function getConfig(data) {
...@@ -170,6 +171,13 @@ export function updageMapView(data) { ...@@ -170,6 +171,13 @@ export function updageMapView(data) {
}; };
} }
export function updatePdCesiumView(data) {
return {
type: PD_VIEW,
data
}
}
export function logout(data) { export function logout(data) {
// eslint-disable-next-line no-undef // eslint-disable-next-line no-undef
createStoreage.remove('PANDA_STORE'); createStoreage.remove('PANDA_STORE');
......
...@@ -20,3 +20,4 @@ export const COMPLEX_PATHNAME = 'App/COMPLEX_PATHNAME'; ...@@ -20,3 +20,4 @@ export const COMPLEX_PATHNAME = 'App/COMPLEX_PATHNAME';
export const GET_MICRO_MOUNTED_STATUS = 'App/GET_MICRO_MOUNTED_STATUS'; export const GET_MICRO_MOUNTED_STATUS = 'App/GET_MICRO_MOUNTED_STATUS';
export const LOGINOUT = 'App/LOGINOUT'; export const LOGINOUT = 'App/LOGINOUT';
export const MAP_VIEW = 'App/MAP_VIEW'; export const MAP_VIEW = 'App/MAP_VIEW';
export const PD_VIEW = "App/PD_VIEW"
...@@ -30,6 +30,7 @@ import { ...@@ -30,6 +30,7 @@ import {
SLIDER_MENU_MODE, SLIDER_MENU_MODE,
VALIDATE_AUTH, VALIDATE_AUTH,
MAP_VIEW, MAP_VIEW,
PD_VIEW
} from './constants'; } from './constants';
const proxy = require('../../../../config/proxy'); const proxy = require('../../../../config/proxy');
...@@ -69,7 +70,8 @@ export const initialState = fromJS({ ...@@ -69,7 +70,8 @@ export const initialState = fromJS({
complexConfig: {}, complexConfig: {},
complexPathName: null, complexPathName: null,
microMounted: true, microMounted: true,
mapView: null mapView: null,
pdView: null
}); });
/* eslint-disable default-case, no-param-reassign */ /* eslint-disable default-case, no-param-reassign */
...@@ -211,6 +213,11 @@ const appReducer = (state = initialState, action) => { ...@@ -211,6 +213,11 @@ const appReducer = (state = initialState, action) => {
return state.merge({ return state.merge({
mapView: action.data, mapView: action.data,
}); });
case PD_VIEW:
store.set('pdView', action.data)
return state.merge({
pdView : action.data
})
default: default:
return state; return state;
} }
......
...@@ -35,6 +35,7 @@ import RightContent from '@/components/GlobalHeader/ExtendRightContent'; ...@@ -35,6 +35,7 @@ import RightContent from '@/components/GlobalHeader/ExtendRightContent';
import Panel from '@/components/SliderPanel/MinPanel'; import Panel from '@/components/SliderPanel/MinPanel';
import { actionCreators } from '@/containers/App/store'; import { actionCreators } from '@/containers/App/store';
import CreateBaseMap from '@/pages/map'; import CreateBaseMap from '@/pages/map';
import CesiumMap from '@/pages/cesiumMap'
// import Authorized from '@/utils/Authorized'; // import Authorized from '@/utils/Authorized';
import { import {
findPathByLeafId, findPathByLeafId,
...@@ -653,9 +654,8 @@ const BasicLayout = props => { ...@@ -653,9 +654,8 @@ const BasicLayout = props => {
} }
{ {
!window.location.pathname.startsWith('/civbase/civweb4') && <CreateBaseMap options={{type: 'ArcgisMap'}}/> !window.location.pathname.startsWith('/civbase/civweb4') ? (window.location.pathname.startsWith('/civbase/civ_3d') ? <CesiumMap /> : <CreateBaseMap options={{type: 'ArcgisMap'}}/>) : null
} }
<div id="micro-container" className="subapp-container"> <div id="micro-container" className="subapp-container">
{/*<CreateBaseMap/>*/} {/*<CreateBaseMap/>*/}
{props.children} {props.children}
......
import {PdRender, parseScheme} from '@wisdom-cesium/cesium'
import { useRef , useEffect } from 'react'
import { connect } from 'react-redux'
import { actionCreators } from '@/containers/App/store';
const cesiumMap = props => {
const ref = useRef(null)
useEffect(() => {
const mapConfig3d = props.globalConfig?.mapConfig3d ?? {}
const {widgets} = mapConfig3d
const schemes = parseScheme.parseSchemes(mapConfig3d)
const schemeData = parseScheme.parseDatas(schemes)
const pdView = new PdRender({
el: ref.current,
widgets,
delayWidgetRender : true,
...schemeData
})
props.updatePdCesiumView(pdView)
}, [])
return (<div style={{
inset: 0,
position : "absolute"
}} ref = {ref}></div>)
}
const mapStateToProps = state => ({
globalConfig : state.getIn(['global','globalConfig'])
})
const mapDispatchToProps = dispatch => ({
updatePdCesiumView(pdView) {
dispatch(actionCreators.updatePdCesiumView(pdView))
}
})
export default connect(mapStateToProps, mapDispatchToProps)(cesiumMap)
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment