Renxy 2 rokov pred
rodič
commit
6c377d8915

+ 15 - 0
src/Frameworks/SysRouter.ts

@@ -55,6 +55,21 @@ export const route: GT.IRouterOptions[] = [
       header: false,
     },
   },
+  {
+    key: PAGE_KEY.Map,
+    //@ts-ignore
+    component: () => import('@/Project/pages/Map'),
+    //@ts-ignore
+    // models: () => import('@/Project/pages/Map/models/index'),
+    options: {
+      name: '驾驶舱',
+      left: 0,
+      top: 0,
+      width: '100%',
+      height: '100%',
+      header: false,
+    },
+  },
 ];
 
 let Pages: { [key: string]: any } = {};

+ 5 - 4
src/Project/Functions/FuncMain.ts

@@ -1,6 +1,5 @@
 import Func from '@/Engine/ECS/Function';
 import LoginHandle from './Handlers/LoginHandler';
-import AppPlatformHandle from './Handlers/PlatformMenuHandle';
 import { PAGE_KEY } from '../constants';
 import SysPage from '@/Frameworks/SysPage';
 import PlatformMenuHandle from './Handlers/PlatformMenuHandle';
@@ -10,6 +9,7 @@ export enum FuncMainState {
   PlatformMenu, // 首页
   ProjectSelection, // 项目选择页
   PageMenu, // 菜单页
+  Map,
 }
 
 export default class FuncMain extends Func<FuncMainState> {
@@ -17,11 +17,12 @@ export default class FuncMain extends Func<FuncMainState> {
     super(name);
     super.initStates((sm) => {
       sm.addState(FuncMainState.Login, new LoginHandle());
+      sm.addState(FuncMainState.PlatformMenu, new PlatformMenuHandle());
       sm.addState(
-        FuncMainState.PlatformMenu,
-        () => window.GT_APP.funcPlatformMenu.setActive(true),
+        FuncMainState.Map,
+        () => window.GT_APP.funcMap.setActive(true),
         () => null,
-        () => window.GT_APP.funcPlatformMenu.setActive(false),
+        () => window.GT_APP.funcMap.setActive(false),
       );
     });
   }

+ 4 - 4
src/Project/Functions/Handlers/PlatformMenuHandle.ts

@@ -3,14 +3,14 @@ import SysPage from '@/Frameworks/SysPage';
 import { PAGE_KEY } from '@/Project/constants';
 import { FuncMainState } from '../FuncMain';
 
-export default class AppPlatformHandle implements StateHandler<FuncMainState> {
+export default class PlatformMenuHandle implements StateHandler<FuncMainState> {
   stateIn(): void {
-    SysPage.add(PAGE_KEY.Access);
+    window.GT_APP.funcPlatformMenu.setActive(true);
   }
   stateRunning(): FuncMainState {
-    return FuncMainState.Login;
+    return FuncMainState.PlatformMenu;
   }
   stateExit(): void {
-    SysPage.removeByKey(PAGE_KEY.Access);
+    window.GT_APP.funcPlatformMenu.setActive(false);
   }
 }

+ 0 - 1
src/Project/Functions/LevelAFunctions/FuncLogin.ts

@@ -22,7 +22,6 @@ export default class FuncLogin extends Func<FuncLoginState> {
   }
   onIdleStateIn(): void {
     const login = (token: string) => {
-      
       LocalService.setItem(STORAGE_TYPE.token, token);
       window.GT_APP.funcMain.changeState(FuncMainState.PlatformMenu);
     };

+ 21 - 0
src/Project/Functions/LevelAFunctions/FuncMap.ts

@@ -0,0 +1,21 @@
+import Func from '@/Engine/ECS/Function';
+import SysPage from '@/Frameworks/SysPage';
+import { PAGE_KEY } from '@/Project/constants';
+export enum FuncMapState {
+  Map,
+}
+
+export default class FuncMap extends Func<FuncMapState> {
+  constructor(name: string) {
+    super(name);
+    super.initStates((sm) => {
+      sm.addState(FuncMapState.Map, this.onStateIn, null, this.onStateExit);
+    });
+  }
+  onStateIn(): void {
+    SysPage.add(PAGE_KEY.Map);
+  }
+  onStateExit(): void {
+    SysPage.removeByKey(PAGE_KEY.Map);
+  }
+}

+ 6 - 1
src/Project/Functions/LevelAFunctions/FuncPlatformMenu.ts

@@ -1,6 +1,8 @@
 import Func from '@/Engine/ECS/Function';
 import SysPage from '@/Frameworks/SysPage';
 import { PAGE_KEY } from '@/Project/constants';
+import { FuncMainState } from '../FuncMain';
+import FuncMap from './FuncMap';
 export enum FuncPlatformMenuState {
   PlatformMenu,
 }
@@ -18,7 +20,10 @@ export default class FuncPlatformMenu extends Func<FuncPlatformMenuState> {
     });
   }
   onStateIn(): void {
-    SysPage.add(PAGE_KEY.PlatformMenu);
+    const handleMapPage = (state: FuncMainState): void => {
+      window.GT_APP.funcMain.changeState(state);
+    };
+    SysPage.add(PAGE_KEY.PlatformMenu, { handleMapPage });
   }
   onStateExit(): void {
     SysPage.removeByKey(PAGE_KEY.PlatformMenu);

+ 3 - 0
src/Project/Os.ts

@@ -1,15 +1,18 @@
 import FuncMain from './Functions/FuncMain';
 import FuncLogin from './Functions/LevelAFunctions/FuncLogin';
+import FuncMap from './Functions/LevelAFunctions/FuncMap';
 import FuncPlatformMenu from './Functions/LevelAFunctions/FuncPlatformMenu';
 
 class Os {
   funcMain: FuncMain;
   funcLogin: FuncLogin;
   funcPlatformMenu: FuncPlatformMenu;
+  funcMap: FuncMap;
   constructor() {
     this.funcMain = new FuncMain('FuncMain');
     this.funcLogin = new FuncLogin('FuncLogin');
     this.funcPlatformMenu = new FuncPlatformMenu('FuncPlatformMenu');
+    this.funcMap = new FuncMap('FuncMap');
   }
 }
 

+ 1 - 0
src/Project/constants/index.ts

@@ -3,4 +3,5 @@ export enum PAGE_KEY {
   Access,
   Login,
   PlatformMenu,
+  Map,
 }

+ 5 - 0
src/Project/pages/Map/index.tsx

@@ -0,0 +1,5 @@
+const NewMap = () => {
+  return <h1>哈哈哈哈哈</h1>;
+};
+
+export default NewMap;

+ 10 - 18
src/Project/pages/PlatformMenu/index.js

@@ -2,29 +2,20 @@ import React, { useState, useEffect } from 'react';
 import { message } from 'antd';
 import menuStyle from './moduleMenuStyle.less';
 import { connect } from 'umi';
-// import {
-//   UnityAction,
-//   getGlobalData,
-//   setGlobalData,
-// } from '@/utils/utils';
-// import router from 'umi/router';
-// import {
-//   platformPageConfig,
-//   BuildNodeCode,
-//   OpsNodeCode,
-// } from '@/utils/constants';
-const noIcon = require('@/Project/assets/platformMenu/noIcon.png');
-const newIcon = require('@/Project/assets/platformMenu/ICON/newModel.png');
+import { FuncMainState } from '@/Project/Functions/FuncMain';
 
 function PlatformMenu(props) {
   const {
     dispatch,
     access,
-    initState,
+    params,
     // location: { query = {} },
   } = props;
   console.log(props);
   let query = {};
+
+  const noIcon = require('@/Project/assets/platformMenu/noIcon.png');
+  const newIcon = require('@/Project/assets/platformMenu/ICON/newModel.png');
   const [curMenu, setCurMenu] = useState([]);
   useEffect(() => {
     dispatch({
@@ -108,11 +99,12 @@ function PlatformMenu(props) {
     }
   };
   const handleMenuClick = (element) => {
+    params.handleMapPage(FuncMainState.Map);
     if (element.Name == '运营平台' || element.Name == '建设平台') {
-      if (query.unity == undefined) {
-        message.error('请使用客户端进入');
-        return;
-      }
+      // if (query.unity == undefined) {
+      //   message.error('请使用客户端进入');
+      //   return;
+      // }
       const subModule = element.Name == '运营平台' ? 2 : 1;
       // const forbiddenModel = getGlobalData('forbiddenModel');
       // 设置全局变量