人生啊人生 há 10 meses atrás
pai
commit
3adc5d5a28

+ 3 - 1
.env.development

@@ -1,4 +1,6 @@
 #Api的地址
-VITE_API_BASE_URL =https://api.3dyzt.com:444/eduTrain/userApi
+# VITE_API_BASE_URL =https://api.3dyzt.com:444/eduTrain/userApi
+VITE_API_BASE_URL =https://api.3dyzt.com:444/eduTrain1/userApi
+
 #发布的虚拟目录
 VITE_APP_Vitrural =./

+ 3 - 1
.env.production

@@ -1,4 +1,6 @@
 #Api的地址
-VITE_API_BASE_URL =https://api.3dyzt.com:444/eduTrain/userApi
+# VITE_API_BASE_URL =https://api.3dyzt.com:444/eduTrain/userApi
+VITE_API_BASE_URL =https://api.3dyzt.com:444/eduTrain1/userApi
+
 #发布的虚拟目录
 VITE_APP_Vitrural =./

+ 14 - 9
src/components/student/CourseChapter3d.vue

@@ -6,6 +6,7 @@ import { courseChapter3dShow } from "@/stores/courseChapter3dShow.ts";
 import { ThreeWorldEvent } from "./ThreeWorldEvent/js/ThreeWorldEvent.ts";
 import { ThreeWorldEventMain } from "./ThreeWorldEvent/js/ThreeWorldEventMain.ts";
 import { TypeEvent } from "./ThreeWorldEvent/event/TypeEvent.ts";
+import { ComVal } from "./ThreeWorldEvent/common/ComVal.ts";
 import { ref, watch } from "vue";
 
 const props = defineProps({
@@ -151,6 +152,7 @@ const callbackCameraVisualAngleJsonToLookEvent = (json : any) => {
 const initScene = () => {
     
     let objNewIframe : any = threeWorld().obj.newIframe;
+    let ChengGuangYuanJing : any = objNewIframe.objIframe.ChengGuangYuanJing;
     
     ThreeWorldEventMain.find().initObj(
         objNewIframe,
@@ -178,19 +180,22 @@ const initScene = () => {
         storesObj
     );
 
+    // 触发自动点击逻辑
+    ChengGuangYuanJing.CommonVal.find().screenClickNumEvent();
+
+
+    ComVal.find().initObj(
+        objNewIframe,
+        objNewIframe.objIframe,
+        objNewIframe.objIframe.ChengGuangYuanJing.CommonVal.find().objScene,
+        objNewIframe.objIframe.BABYLON,
+        storesObj
+    );
+
     // TypeEvent.find().typeEvent(props.config?.threeDimensionalConfig);
 
     TypeEvent.find().typeEvent('threeWorld_one_init');
     
-    // // @ts-ignore
-    // threeWorld().obj.newIframe.cameraVisualAngleGetListNameGpsTo("检测车");
-    // // @ts-ignore
-    // threeWorld().obj.newIframe.roleShow(false);
-
-    // // 触发自动点击逻辑
-    // // @ts-ignore
-    // threeWorld().obj.newIframe.objIframe.ChengGuangYuanJing.CommonVal.find().screenClickNumEvent();
-
 }
 
 

+ 76 - 0
src/components/student/ThreeWorldEvent/common/ComVal.ts

@@ -0,0 +1,76 @@
+/**
+ * 通用会用到的一些函数
+ */
+export class ComVal {
+    
+    // 已经封装好的,编辑器的类对象,内置可以直接调用的代码
+    public objIframeEdit : any = null;
+    // iframe对象
+    public objIframe : any = null;
+    // 3d世界的场景,后续要操作3d世界常用的对象
+    public objScene : any = null;
+    // babylon 对象,懂babylon,就可以使用babylon的api去操作
+    public BABYLON : any = null;
+
+    /**
+     * stores 合集对象
+     */
+    public storesObj : any = null;
+    
+    static instance: any;
+
+    // 每次 new 出对象则会调用这个构造函数
+    constructor() {
+        
+    }
+
+    // 实现单例模式
+    static find() {
+        if (!ComVal.instance) {
+            ComVal.instance = new ComVal();
+        }
+        return ComVal.instance;
+    }
+
+    /**
+     * 初始化方法
+     * objIframeEdit    已经封装好的,编辑器的类对象,内置可以直接调用的代码
+     * objIframe        iframe对象
+     * objScene         场景对象
+     * BABYLON          babylon.js对象,用于后续调用babylon的代码去创建更新等操作
+     * storesObj        stores 合集对象
+     */
+    initObj = (objIframeEdit : any, objIframe : any, objScene : any, BABYLON : any, storesObj : any) => {
+        
+        if (this.objIframe != null && this.objIframe != undefined) {
+            return this;
+        }
+
+        this.objIframeEdit = objIframeEdit;
+        this.objIframe = objIframe;
+        this.objScene = objScene;
+        this.BABYLON = BABYLON;
+        this.storesObj = storesObj;
+        
+        return this;
+
+    }
+    
+
+
+
+    
+    
+
+}
+
+
+
+
+
+
+
+
+
+
+

+ 23 - 5
src/components/student/ThreeWorldEvent/event/TypeEvent.ts

@@ -81,7 +81,7 @@ export class TypeEvent {
             // 初始化第一个步骤视角
             case 'threeWorld_one_init':
                 
-                thisClass.animationAllTypeUpdate('stopAll');
+                thisClass.threeWorld_one_init();
                 break;
                 
             // 设备拆解
@@ -97,18 +97,16 @@ export class TypeEvent {
         
     }
     
-    
-     /**
+    /**
      * 切换对应的动画结果
      * type     类型
      */
-     public animationAllTypeUpdate = (type : any) => {
+    public animationAllTypeUpdate = (type : any) => {
     
         let objIframeEdit = this.objIframeEdit;
         let objIframe = this.objIframe;
         let objScene = this.objScene;
         let BABYLON = this.BABYLON;
-
         let ChengGuangYuanJing = objIframe.ChengGuangYuanJing;
         
         // 通过配置来更新动画
@@ -183,7 +181,27 @@ export class TypeEvent {
     };
 
 
+    /**
+     * 初始化第一个步骤视角
+     */
+    threeWorld_one_init = () => {
 
+        let thisClass = this;
+        let objIframeEdit = this.objIframeEdit;
+        let objIframe = this.objIframe;
+        let objScene = this.objScene;
+        let BABYLON = this.BABYLON;
+        let ChengGuangYuanJing = objIframe.ChengGuangYuanJing;
+
+        objIframeEdit.modelPeopleLook(3);
+        objIframeEdit.cameraVisualAngleGetListNameGpsTo("车头");
+        objIframeEdit.roleShow(false);
+
+        thisClass.animationAllTypeUpdate('stopAll');
+        
+        
+        
+    }
 
     
 

+ 2 - 0
src/components/student/event/IframeEdit.js

@@ -316,6 +316,8 @@ export class IframeEdit {
             // 如果找到名字
             if (thisCameraVisualAngleGetList.name == cameraName) {
 
+                // console.log("找到了视角切换", cameraName);
+
                 // 触发动画
                 objThisClass.objIframe.ChengGuangYuanJing.CameraArray.find().cameraVisualAngleJsonToLook(
                     // 数组下标

+ 1 - 1
src/view/Manage.vue

@@ -46,7 +46,7 @@
     <el-container class="el-wrapper">
         <el-header class="header-title-wrap">
 
-            <div class="header-title">排水管道智能检测教师平台</div>
+            <div class="header-title">排水管网运维养护虚拟仿真教学平台</div>
             <div class="header-opts">
 
                 <el-popover trigger="click">